2016-03-02 62 views
0

我一直在這一天,並沒有找到解決辦法。我的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他們都跑而過,我沒有得到任何進口錯誤。

+0

您是否嘗試過設置不帶引號和大括號的路徑?您可能會將python路徑設置爲路徑的字符串表示形式。 –

+0

我沒有,我現在就試試。謝謝 – gamda

+0

@JaseRieger非常感謝你!就是這樣。 Coverage和Python可以從終端再次運行測試,我可以運行獨立的模塊。我不確定爲什麼發生這種情況,因爲我大約一個星期沒有修改.bash文件,所以我認爲這不是問題。 – gamda

回答

1

你有沒有試過設置沒有引號和大括號的路徑?您正在將python路徑設置爲路徑的字符串表示形式,而不是路徑列表