为什么我在PyCharm中使用的zsh没有正确的$PATH?

13

我最近正在学习Python,并将PyCharm作为我的编辑器在MacBook上运行。问题在于,当我在PyCharm终端中键入类似于scrapy -V的内容时,它告诉我“zsh:未找到命令:scrapy”,但是当我在PyCharm之外启动终端时,它可以正常工作。

因此,我想知道路径变量是否正确。然后我尝试在PyCharm终端中输入echo $ PATH,它返回:

/usr/bin:/bin:/usr/sbin:/sbin

同时在PyCharm外部的终端返回:

/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/Library/Frameworks/Mono.framework/Versions/Current/Commands

我将shell路径设置为:/bin/zsh

顺便说一句,我也在使用IDEA,但那里的所有内容都很好,而且shell路径与PyCharm中的相同。

那么,是什么导致我PyCharm终端(zsh)中的路径变量错误?


详细的解释和修复方法在这里:https://dev59.com/MVUL5IYBdhLWcg3wAD-j#51006003 - Steve Tarver
5个回答

21

对我来说,在~/.zshrc文件开头添加以下内容有帮助:

# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH

5
我在使用zsh时遇到了这个问题。具体来说,我的PATH中失去了/usr/local/bin。这个问题已经被记录在Pycharm bug tracker中,所以似乎没有真正的解决方法。
然而,通过在终端中直接使用charm命令启动Pycharm会得到正确的PATH。

1

0

我在~/.zshrc的顶部添加了echo $PATH,终端打印出/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/aria2/bin:/usr/local/MacGPG2/bin:/Applications/Wireshark.app/Contents/MacOS,而pycharm shell则打印出/usr/bin:/bin:/usr/sbin:/sbin

因此看起来在pycharm shell中没有调用/usr/libexec/path_helper。您可以在~/.zshrc的顶部添加eval $(/usr/libexec/path_helper),但这会减慢速度,最好手动添加路径,例如export PATH=$HOME/bin:/usr/local/bin:$PATH


0

嗨,在我的情况下(Pycharm 2018.3,Ubunt 16.04),似乎与我第一次配置Zsh时的方式有关,而同时运行着PyCharm。

我尝试了以上所有方法都没有成功。

在某个时刻,我备份了我的.zshrc文件和其他所有的.zsh文件,.zsh_history...然后我关闭终端和PyCharm,删除了所有的与zsh相关的文件。然后我重新启动终端,第一次提示我配置Zsh,选择推荐的方式配置新安装。关闭我的Term,重新启动,Zsh现在是默认的shell了。然后启动PyCharm,问题解决了。

再也没有问题了。而且PyCharm在启动带有pipenv的shell时,当我遇到问题时并不是这种情况。

Byobu也有一些混乱,因为现在在终端中启动Byobu,在Pycharm中却没有,这很好。之前,终端和Pycharm终端都是单例实例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接