我最近在学习python。我使用PyCharm作为我在MacBook中运行的编辑器。问题是当我在PyCharm终端输入类似scrapy -V的内容时,它告诉我“zsh:command not found:scrapy”,但是当我在PyCharm外面启动终端时,它可以正常工作。
所以我想知道路径var是否正确。然后我在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)中的路径变量出错的原因是什么?
答案 0 :(得分:19)
对我来说,将其添加到~/.zshrc
文件的开头有帮助:
# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH
答案 1 :(得分:3)
我在zsh遇到这个问题。具体来说,我从PATH中丢失了/usr/local/bin
。这是在Pycharm bug tracker中提交的 - 因此似乎没有真正的解决方法。
但是,通过charm
命令直接从终端启动Pycharm会产生正确的PATH
。
答案 2 :(得分:1)
我认为这是PyCharm无法正确继承变量的问题。这是链接https://intellij-support.jetbrains.com/hc/en-us/community/posts/208567485-Pycharm-terminal-is-missing-part-of-PATH
答案 3 :(得分:0)
我在from datetime import datetime
def getTime(time_string):
time_object = datetime.strptime(time_string,'%H:%M') #Covert string to time object
return time_object.strftime('%I:%M %p') #Convert time object to AM/PM format
getTime('11:30')
Output: 11:30 am
getTime('13:30')
Output: 01:30 pm
的顶部添加slidesPerRow: 1
,终端打印echo $PATH
,而pycharm shell打印~/.zshrc
。
所以看来/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
的顶部添加/usr/libexec/path_helper
,但这很慢,最好像eval $(/usr/libexec/path_helper)
这样手动添加路径。
答案 4 :(得分:0)
在我的情况下(Pycharm 2018.3,Ubunt 16.04),您好,这似乎与我在运行PyCharm时首次配置Zsh的方式有关。
我尝试以上所有方法均未成功
在某个时候,我备份了我的.zshrc文件以及所有其他.zsh文件.zsh_history ...我删除了所有与zsh相关的文件,同时终端和PyCharm也关闭了。然后,我启动了终端get提示符,首次配置Zsh,选择“推荐的配置新安装方式”。关闭我的术语,重新开始,Zsh现在是默认的shell。然后启动PyCharm etvoilà!
没有其他问题。然后PyCharm在pipenv中用shell挂接终端,这在我遇到问题时不是这种情况。
Byobu也有些混乱,因为现在byobu在终端启动时启动,但是在Pycharm,Byobu不在那里,这很好。以前,终端和Pycharm终端都是一个实例,如果我已经存在,它将退出另一个实例(实际上是单个实例)。