$PYTHONPATH 无法在 OSX 上工作

$PYTHONPATH not working on OSX

找了一天了,没找到解决办法。我的 python 项目层次非常深,一些模块必须 运行 独立(没有 -m 标志,没有相关导入)。出于这个原因,我们决定将根文件夹添加到 PYTHONPATH。我是 运行宁 OSX 10.11.3。直到昨天,一切都 运行ning 顺利。我可以 运行 来自终端的独立模块,在 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。我把它留空但没有用(如预期的那样),我现在用几种方法添加了路径:

并且还设置它而不附加 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 它们都 运行 并且通过了,我根本没有导入错误。

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