$ PYTHONPATH无法在OSX上运行

时间:2016-03-02 21:47:08

标签: python pythonpath

我已经在这一天,并没有找到解决方案。我的python项目非常深层次,一些模块必须独立运行(没有-m标志,没有相对导入)。出于这个原因,我们决定将根文件夹添加到PYTHONPATH。我正在运行OSX 10.11.3。直到昨天,一切都顺利进行。我可以从终端运行独立模块,在Python 2.7和3.5中都没有问题。昨天,在没有修改我的PYTHONPATH或任何其他环境设置的情况下,从终端运行任何这些独立模块现在在Python 2和3中都给出了导入错误。

这是我的工作树:

/Users/sintrafico/Documents/code/central_maestra
- reports_server.py
- api_server.py
- sintrafico
    - sql
        - SQLConnection
    - api
        - incident
            - csv (not package)
                - independent_module
            - tests

我昨天正在进行测试,没有任何问题,但现在我做不到。

Python 2 python csv/independent_module.py给出错误:

Traceback (most recent call last):
  File "csv/independent_module.py", line 13, in <module>
    from sintrafico.sql import SQLConnection
ImportError: No module named sintrafico.sql

Python 3 python3 csv/independent_module.py给出了错误:

Traceback (most recent call last):
  File "csv/create_bemobile_csv.py", line 13, in <module>
    from sintrafico.sql import SQLConnection
ImportError: No module named 'sintrafico'

从事件文件夹中,昨天这个命令工作正常:coverage run -m unittest discover。现在所有测试都失败了,因为ImportError: No module named 'reports_server'

自昨天开始发生以来,我一直在搞乱我的PYTHONPATH。我把它留空并且它不起作用(如预期的那样),我现在已经通过几种方式添加了路径:

  • export PYTHONPATH=“${PYTHONPATH}:/Users/sintrafico/Documents/code/central_maestra"
  • export PYTHONPATH=“/Users/sintrafico/Documents/code/central_maestra:${PYTHONPATH}"
  • export PYTHONPATH=“${PYTHONPATH}:/Users/sintrafico/Documents/code/central_maestra/"
  • export PYTHONPATH=“/Users/sintrafico/Documents/code/central_maestra:${PYTHONPATH}"

并且在没有附加PYTHONPATH的情况下设置它,因为它开始时是空的。我多次重启计算机但没有成功。另请注意,我有一个.bash_profile和.bashrc,其中包含以下内容:

# Setting PATH for Python 3.5
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}"
export PATH
PYTHONPATH=“/Users/sintrafico/Documents/code/central_maestra:${PYTHONPATH}“
export PYTHONPATH

最后,最让我烦恼的是,如果我在PyCharm中运行测试,它们都会运行并通过,我根本就没有导入错误。

1 个答案:

答案 0 :(得分:1)

您是否尝试过设置没有引号和括号的路径?您将python路径设置为路径的字符串表示而不是路径列表