我一直在這一天,並沒有找到解決辦法。我的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他們都跑而過,我沒有得到任何進口錯誤。
您是否嘗試過設置不帶引號和大括號的路徑?您可能會將python路徑設置爲路徑的字符串表示形式。 –
我沒有,我現在就試試。謝謝 – gamda
@JaseRieger非常感謝你!就是這樣。 Coverage和Python可以從終端再次運行測試,我可以運行獨立的模塊。我不確定爲什麼發生這種情況,因爲我大約一個星期沒有修改.bash文件,所以我認爲這不是問題。 – gamda