我想尝试PyCharm进行鼠尾草数学开发。通常我运行eclipse来进行sage开发,但现在我想用PyCharm尝试它。
要使用sage环境变量启动eclipse,在命令行中我通常会执行以下操作:
sage -sh
cd /path/to/eclipse
./eclipse
第一行加载sage环境变量,其余部分启动eclipse。我怎么能为pyCharm做同样的事情? (注意我使用Mac和Ubuntu进行sage开发;上面的命令对两个操作系统都是不可知的)
答案 0 :(得分:128)
Create Command-line Launcher
/usr/local/bin/charm
$ charm YOUR_FOLDER_OR_FILE
愿你这需要。
答案 1 :(得分:14)
JetBrains help page不是很清楚你是对的。在OS X上,您需要在以下位置使用启动器:
/Applications/PyCharm.app/Contents/MacOS/pycharm
或者,社区版:
/Applications/PyCharm\ CE.app/Contents/MacOS/pycharm
不幸的是,为这个二进制文件添加符号链接对我来说不起作用(启动程序会崩溃)。但是设置别名是有效的。将其添加到.bash_profile
(或您使用的任何shell)中:
alias pycharm="/Applications/PyCharm CE.app/Contents/MacOS/pycharm"
然后,您可以使用pycharm
运行命令。
有了这个,你可以做一些事情,比如打开一个项目:
pycharm ~/repos/my-project
或者在项目中打开文件的特定行:
pycharm ~/repos/my-project --line 42 ~/repos/my-project/script.py
或者查看两个文件的差异(它们不需要是项目的一部分):
pycharm ~/some_file.txt ~/Downloads/some_other_file.txt
请注意,我需要将绝对路径传递给这些文件,否则PyCharm无法找到它们。
答案 2 :(得分:14)
答案 3 :(得分:8)
我通常使用OS X中的内置应用程序启动器(打开)进行别名:
alias pc='open -a /Applications/PyCharm\ CE.app'
然后我可以输入:
pc myfile1.txt myfiles*.py
虽然你不能(轻松)将args传递给PyCharm,但是如果你想快速打开文件(不需要使用文件的完整路径名),这就行了。
答案 4 :(得分:4)
使用工具 - >创建命令行启动器,它将安装一个python脚本,您可以使用charm启动当前工作文件夹。
非常重要!
无论何时升级pyCharm,都必须重新创建该命令行工具,因为它只是一个指向pyCharm配置的python脚本,该配置可能已过时,并且当您尝试运行charm .
时会导致它失败
答案 5 :(得分:3)
now possible是从JetBrains Toolbox自动创建命令行启动器的过程。这是您的操作方式:
Generate shell scripts
; Shell script location
文本框中填写启动器要驻留的位置。您必须手动执行此操作,该操作暂时不会自动填充!在Mac上,该位置可能是/usr/local/bin
。对于新手,您可以使用PATH变量内的任何路径,也可以在bash配置文件中为PATH变量添加新路径。使用echo $PATH
查看其中的路径。
注意!它对我来说不是立即可用,在脚本生成之前,我不得不花了一些时间。您可以转到IDEA的变速箱(例如PyCharm),然后查看/更改启动器名称。因此,对于PyCharm,默认名称为pycharm
,但您可以将其更改为自己喜欢的名称。
如果您不使用工具箱,仍然可以使用我的原始答案。
~~由于某种原因,Create Command Line Launcher
在2019.1..1。中不再可用。~~ 因为它现在已经是JetBrains Toolbox的一部分
这是您自己创建脚本的方式:
如果在使用type -a charm
查找脚本之前已经使用过charm命令。在文件路径中更改pycharm版本。请注意,第一个变量RUN_PATH
中的编号是不同的。您必须自己在目录中查找。
RUN_PATH = u'/Users/boatfolder/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-0/191.6183.50/PyCharm.app'
CONFIG_PATH = u'/Users/boatfolder/Library/Preferences/PyCharm2019.1'
SYSTEM_PATH = u'/Users/boatfolder/Library/Caches/PyCharm2019.1'
如果您以前没有使用过charm命令,则必须创建它。
在如下位置创建超级魅力文件:/usr/local/bin/charm
然后添加此代码(如上所述,将版本号更改为您的版本):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import struct
import sys
import os
import time
# see com.intellij.idea.SocketLock for the server side of this interface
RUN_PATH = u'/Users/boatfolder/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-0/191.6183.50/PyCharm.app'
CONFIG_PATH = u'/Users/boatfolder/Library/Preferences/PyCharm2019.1'
SYSTEM_PATH = u'/Users/boatfolder/Library/Caches/PyCharm2019.1'
def print_usage(cmd):
print(('Usage:\n' +
' {0} -h | -? | --help\n' +
' {0} [project_dir]\n' +
' {0} [-l|--line line] [project_dir|--temp-project] file[:line]\n' +
' {0} diff <left> <right>\n' +
' {0} merge <local> <remote> [base] <merged>').format(cmd))
def process_args(argv):
args = []
skip_next = False
for i, arg in enumerate(argv[1:]):
if arg == '-h' or arg == '-?' or arg == '--help':
print_usage(argv[0])
exit(0)
elif i == 0 and (arg == 'diff' or arg == 'merge' or arg == '--temp-project'):
args.append(arg)
elif arg == '-l' or arg == '--line':
args.append(arg)
skip_next = True
elif skip_next:
args.append(arg)
skip_next = False
else:
path = arg
if ':' in arg:
file_path, line_number = arg.rsplit(':', 1)
if line_number.isdigit():
args.append('-l')
args.append(line_number)
path = file_path
args.append(os.path.abspath(path))
return args
def try_activate_instance(args):
port_path = os.path.join(CONFIG_PATH, 'port')
token_path = os.path.join(SYSTEM_PATH, 'token')
if not (os.path.exists(port_path) and os.path.exists(token_path)):
return False
try:
with open(port_path) as pf:
port = int(pf.read())
with open(token_path) as tf:
token = tf.read()
except (ValueError):
return False
s = socket.socket()
s.settimeout(0.3)
try:
s.connect(('127.0.0.1', port))
except (socket.error, IOError):
return False
found = False
while True:
try:
path_len = struct.unpack('>h', s.recv(2))[0]
path = s.recv(path_len).decode('utf-8')
if os.path.abspath(path) == os.path.abspath(CONFIG_PATH):
found = True
break
except (socket.error, IOError):
return False
if found:
cmd = 'activate ' + token + '\0' + os.getcwd() + '\0' + '\0'.join(args)
if sys.version_info.major >= 3: cmd = cmd.encode('utf-8')
encoded = struct.pack('>h', len(cmd)) + cmd
s.send(encoded)
time.sleep(0.5) # don't close the socket immediately
return True
return False
def start_new_instance(args):
if sys.platform == 'darwin':
if len(args) > 0:
args.insert(0, '--args')
os.execvp('/usr/bin/open', ['-a', RUN_PATH] + args)
else:
bin_file = os.path.split(RUN_PATH)[1]
os.execv(RUN_PATH, [bin_file] + args)
ide_args = process_args(sys.argv)
if not try_activate_instance(ide_args):
start_new_instance(ide_args)
答案 6 :(得分:2)
要从Ubuntu 16.04中的终端打开PyCharm,请执行
{installation home}/bin
在我的案例中是
/home/nikhil/pycharm-community-2018.1.1/bin/
然后输入:
./pycharm.sh
答案 7 :(得分:2)
导航到终端cd [your directory]
上的目录
Navigate to the directory on the terminal
使用charm .
在PyCharm中打开项目
在PyCharm中打开项目的最快捷方式
答案 8 :(得分:1)
您可以使用open命令从Mac终端启动Pycharm
。只需输入open /path/to/App
Applications$ ls -lrt PyCharm\ CE.app/
total 8
drwxr-xr-x@ 71 amit admin 2414 Sep 24 11:08 lib
drwxr-xr-x@ 4 amit admin 136 Sep 24 11:08 help
drwxr-xr-x@ 12 amit admin 408 Sep 24 11:08 plugins
drwxr-xr-x@ 29 amit admin 986 Sep 24 11:08 license
drwxr-xr-x@ 4 amit admin 136 Sep 24 11:08 skeletons
-rw-r--r--@ 1 amit admin 10 Sep 24 11:08 build.txt
drwxr-xr-x@ 6 amit admin 204 Sep 24 11:12 Contents
drwxr-xr-x@ 14 amit admin 476 Sep 24 11:12 bin
drwxr-xr-x@ 31 amit admin 1054 Sep 25 21:43 helpers
/Applications$
/Applications$ open PyCharm\ CE.app/
答案 9 :(得分:1)
在Mac上使用zsh的用户的步骤:
答案 10 :(得分:0)
charm() { /usr/local/bin/charm; }
export charm
答案 11 :(得分:0)
pycharm下载并在UBUNTU中打开
下载:
在此处下载pycharm linux版本:https://www.jetbrains.com/pycharm/download/#section=linux
使用以下命令解压缩下载的tar文件:tar -xvf pycharm-Example-tar.gz
打开:
导航到提取的文件夹中的bin目录。
运行: ./ pycharm.sh
答案 12 :(得分:0)
无需路径的简便别名解决方案:
alias pycharm='open -b com.jetbrains.pycharm'
用法:
pycharm .
pycharm file.py
答案 13 :(得分:0)
open /Applications/PyCharm\ CE.app/
打开主要的Pycharm对话框以选择项目。
与macOS 10.13.6
和Pycharm 2018.1
答案 14 :(得分:0)
更新2019/05 现在,可以在JetBrains Toolbox应用中完成此操作。您可以使用Toolbox为所有JetBrain IDE设置一次。
从 2019.1 EAP 开始,Create Commmand Line Launcher
选项在“工具”菜单中不再可用。我的解决方案是在我的bash / zsh配置文件中使用以下别名:
请确保您运行chmod -x ...../pycharm
以使二进制文件可执行。
# in your ~/.profile or other rc file to the effect.
alias pycharm="open -a '$(ls -r /Users/geyang/Library/Application\ Support/JetBrains/Toolbox/apps/PyCharm-P/**/PyCharm*.app/Contents/MacOS/pycharm)'"
答案 15 :(得分:0)
某些有用的信息:
在Linux上,将PyCharm作为snap软件包安装会自动创建名为pycharm-professional,pycharm-community或pycharm-educational的命令行启动器。工具|因此,“创建命令行启动器”命令不可用。
答案 16 :(得分:0)
在kubuntu上安装后,我发现~/bin/pycharm
中的pycharm脚本只是一个桌面项:
[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm Community Edition
Icon=/snap/pycharm-community/79/bin/pycharm.png
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/pycharm-community_pycharm-community.desktop /snap/bin/pycharm-community %f
Comment=Python IDE for Professional Developers
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm-ce
很明显,我无法使用它从命令行打开任何内容:
$ pycharm setup.py
/home/eldond/bin/pycharm_old: line 1: [Desktop: command not found
/home/eldond/bin/pycharm_old: line 4: Community: command not found
但是桌面条目文件中有一个提示。在/snap/pycharm-community/
中,我发现/snap/pycharm-community/current/bin/pycharm.sh
。我删除了~/bin/pycharm
(实际上将其重命名为具有备份),然后做了
ln -s /snap/pycharm-community/current/bin/pycharm.sh pycharm
再次,我通过检查必须开始的桌面输入脚本找到了路径的起点。
现在,我可以从命令行使用pycharm打开文件。我不知道这次安装过程中发生了什么。最近两次我完成了全新安装,一切都没有问题。
答案 17 :(得分:0)
在MacOS上,我在bashrc中有这个别名:
alias pycharm="open -a /Applications/PyCharm*.app"
我可以像这样使用它:pycharm <project dir or file>
以这种方式启动PyCharm的优点是你可以使用pycharm .
打开PyCharm中的当前目录(与/Applications/PyCharm*.app/Contents/MacOS/pycharm .
不同,它会打开PyCharm应用程序目录而不是)
更新:我切换到JetBrains Toolbox安装PyCharm。发现PyCharm变得有点复杂了,但到目前为止我对这个怪物很幸运:
alias pycharm="open -a \"\$(ls -r /Applications/apps/PyCharm*/*/*/PyCharm*.app | head -n 1 | sed 's/:$//')\""
答案 18 :(得分:0)
安装到/usr/local/bin/charm
的附带实用程序在OS X上对我不起作用,所以我将这个实用程序混合在一起。它确实有效!
#!/usr/bin/env bash
if [ -z "$1" ]
then
echo ""
echo "Usage: charm <filename>"
exit
fi
FILENAME=$1
function myreadlink() {
(
cd $(dirname $1) # or cd ${1%/*}
echo $PWD/$(basename $1) # or echo $PWD/${1##*/}
)
}
FULL_FILE=`myreadlink $FILENAME`;
/Applications/PyCharm\ CE.app/Contents/MacOS/pycharm $FULL_FILE
答案 19 :(得分:-1)
这对我的2017 imac macOS Mojave(版本10.14.3)有效。
打开您的〜/ .bash_profile:
nano ~/.bash_profile
追加别名:
alias pycharm="open /Applications/PyCharm\ CE.app"
更新终端:
source ~/.bash_profile
断言其有效:
pycharm
答案 20 :(得分:-1)
在Ubuntu中,要添加的一件事是 Pycharm 是使用charm
或charm [file]
启动的。如果您提供pycharm
,则无法找到。