2013-07-16 51 views
3

我有一個Django關於Python 2.7.3中的virtualenv在PythonAnywhere運行(1.5.1)的網站。據我記得,一切都很正常。最近,雖然我沒有除了一些Django的代碼改變任何東西,我得到以下信息,當我運行pipPythonAnywhere +的virtualenv: 「無法找到平臺依賴庫<exec_prefix> ......」

(venv)11:34 ~ $ pip 
Could not find platform dependent libraries <exec_prefix> 
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] 
Traceback (most recent call last): 
    File "/*~*//venv/bin/pip", line 5, in <module> 
    from pkg_resources import load_entry_point 
    File "/*~*//venv/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/pkg_resources.py", line 16, in <module> 
    import sys, os, zipimport, time, re, imp, types 
ImportError: No module named time 

不用說,pip不會產生上述錯誤之後,在所有的工作。

當我運行python激活了virtualenv中,我再次收到以下錯誤:

(venv)11:34 ~ $ python 
Could not find platform dependent libraries <exec_prefix> 
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] 
Python 2.7.3 (default, Apr 29 2013, 15:12:04) 
[GCC 4.4.5] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
Traceback (most recent call last): 
    File "/*~*//.pythonstartup.py", line 1, in <module> 
    import rlcompleter 
ImportError: No module named rlcompleter 
>>> 

但是,此後,Python的控制檯顯示爲處於工作狀態。

沒有的virtualenv激活,python運行正常,沒有任何錯誤。

一切都很好,幾個星期前,當我最後一次運行pip並安裝一些軟件包,但現在,pip不工作,雖然我所有的Django的網站的功能運行得很好。我感謝任何想法,可以讓pip再次工作。

回答

5

肯定有事情,如果它不能找到模塊time有鬼 - 據我所知該模塊實際上是建立在對Python的二進制文件本身,所以它不是好像有一個time.pytime.so文件,它可能已被刪除。看起來你的virtualenv中的Python已經以某種方式被打破了,或者有一些關於環境的東西搞砸了它。

設置一個可疑的PYTHONHOME變量可能會導致Python的各種麻煩,因爲它無法找到必要的文件,但我認爲在這種情況下,這是事實,virtualenv已被破壞。事實上,我只是在PythonAnywhere上嘗試了一箇舊的virtualenv,並得到了同樣的問題。看起來好像virtualenv創建的符號鏈接已經因升級而崩潰,可能是最近從Debian升級到Ubuntu的結果。

如果可能的話,我只想重新創建一個新的virtualenv並從那裏運行的東西。原則上,你可以使用pip寫一個需求文件,所以你可以創建具有完全相同的代碼相同版本的一個新的virtualenv,但問題是,你不能運行pip創建這個文件,QED。有可能使用該系統的Python運行pip並從您的virtualenv獲得依賴一個聰明的方法,但它會是棘手 - 這不是設計的工作方式。

另外,您可以與賓夕法尼亞州的開發者 - 我知道有些用戶確實有與他們周圍的升級時間virtualenvs問題,他們可能有狡猾的腳本,它可以解決這個問題。即使你只是建立一個新的virtualenv並使用它,我也會聯繫他們,並確保他們知道這個問題,以便他們知道它將來的升級。

+0

+1給Cartroo的建議重新創建一個新的virtualenv。我們試圖修復大部分來自ubuntu交換機的virtualenv錯誤,但無法確定所有這些錯誤...... – hwjp

2

我今天下午這發生在我身上。我從Mint 14升級到Mint 15,似乎前者的系統python是2.7.3,後者是2.7.4。我通過刪除我的virtualenv(使用python 2.7.3),然後使用python 2.7.4重新創建它來解決這個問題。

檢查我的quick screencast。在這裏面,我表明:

  • Python環境被破壞
  • 重建蟒蛇ENV使得它的工作
0

我得到這個錯誤該day.Because我使用的virtualenv,並輸入此,但是,我的python腳本仍然包含這個 #!/usr/bin/python2.6 刪除這句話會好的