在OSX的Python中找不到命令和ImportError

时间:2017-04-26 13:05:47

标签: bash macos python-2.7 python-3.x

我有安装了Python3.5和Python2.7的OSX El Captain。 我有一个包含我的python脚本和函数的文件夹,我已经将它添加到环境变量PATH中,不知怎的[*]也添加到了sys.path:

Project_folder/
- Python/
-- __init__.py
-- batchProc.py (written in Python 3.4)
-- (other python files)

我使用.bash_profile文件设置我的PATH:

PATH=“/Users/Robyc/Project_folder/Python:${PATH}”
export PATH

它在那里的文件夹:

echo $PATH
“/Users/Robyc/Project_Folder/Python:/Library/Frameworks/Python.framework/Versions/3.5/bin:/opt/local/bin:/opt/local/sbin:/usr/local/mysql/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/TeX/texbin”

我的sys.path变量

['/Applications/PyCharm CE.app/Contents/helpers/pydev', '/Applications/PyCharm CE.app/Contents/helpers/pydev', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages', '/Users/Robyc/Project_Folder/Python', '/Users/Robyc/Project_Folder/']

我有两个问题,我感觉彼此相关。

  1. 如果我在终端中键入bacthProc.py,则会找不到Command。我需要去〜/ Project_folder / Python
  2. 如果我运行〜/ Project_folder / Python / batchProc.py代码启动但我得到ImportError:没有名为Python的模块。
  3. 我真的不明白我的配置有什么问题。

    [*]我的〜/ Project_folder之前已经存在,但我不记得我是如何添加的...... 我的PYTHONPATH是空的。我现在使用了一个pth文件,如下所示    documentation将我的〜/ Project_folder / Python文件夹添加到    sys.path,即我创建了以下文件:

    /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/svn_code.pth 
    

    包含:     /用户/ Robyc / Project_folder / Python的/

1 个答案:

答案 0 :(得分:0)

为了完整起见,我分享了问题的解决方案。

问题是,正如预期的那样,在PATH变量中: 我用来修改.bash_profile的文本编辑器(TextEdit.app)以shell未正确识别的方式修改了引号(" ...")。 这可以在我在上面的问题中发布的路径中实际看到:在终端中执行echo $ PATH时不应出现引号。 结果,PATH变量未正确设置。这就是为什么再也无法调用python的原因了。

解决方案:用nano打开bash_profile并修改引号... 并且永远不要再使用TextEdit来修改bash_profile