2011-02-15 41 views
21

我的服務器有Python2.5我想跳到最新的Python(在我的例子中是2.7.x)。我從源代碼編譯python,我下載了最新的virtualenv(1.5.1)。在使用不同python安裝virtualenv時聲明錯誤

現在基本上什麼即時試圖做的:

./packages/virtualenv/virtualenv.py --python=packages/Python-2.7/python env/ 

打字:

./packages/virtualenv/virtualenv.py 

提供:

1.5.1 

雖然打字:

packages/Python-2.7/python 

規定:

Python 2.7 (r27:82500, Nov 21 2010, 23:19:15) 
[GCC 4.3.2] on linux2 
(cut help mesage) 
>>> 

但乳寧virutalenv結果:

Asse田:文件名/packages/Python-2.7/Lib/os.py不與任何這些前綴的開始:「在/ usr /本地']

不管它是什麼意思,無論我是我還是我沒有做錯。

P.S. 雖然建設env + python我基於問題:How do I work around this problem creating a virtualenv environment with a custom-build Python?

回答

45

後閱讀和搞this

我發現這個錯誤可能與缺乏--prefix而乳寧./configure爲蟒蛇有關。所以,我已經運行./configure --prefix=/Path/To/Where/I/Want/Python/After/Compilation/(在我的情況$HOME/packages/Python-2.7),然後我輸入make,然後make install(不使用sudo - 所以蟒蛇被安全地投入,我告訴它是作爲當前用戶不是)。之後,virtualenv開始沒有與AssertionError崩潰,一切都像一個魅力。

希望作者回答的這個問題最終會幫助別人。 :)

+2

「希望作者回答這個問題最終可以幫助某人。」它當然是。謝謝。 – 2012-02-23 19:44:48

+0

我在Windows 7上遇到了這個問題,沒有使用./configure。 – Sabuncu 2012-04-08 19:08:50

16

我沒有足夠的代表添加此作爲評論和這個問題是3歲,但這可能是有用的人。在Windows中,您必須輸出到python.exe,但似乎在Linux/OS X中,您只是路徑到文件夾。例如:

的Windows:

virtualenv -p <PATH TO PYTHON.EXE> venv 

創建當前目錄下的子文件夾中的 「VENV」 虛擬環境。

1

我沒有足夠的代表添加評論。 Mike's答案保存我的一天。我正在使用Windows。

我得到的錯誤:

AssertionError: Filename C:\Python35\Lib\os.py does not start with any of these prefixes: ['c:\\python35', 'c:\\python35'] 

我不得不跑這 -

virtualenv -p C:\Python35\python.exe venv 

還需要從開始作爲管理員一個cmd運行此。否則,收到錯誤

PermissionError: [WinError 5] Access is denied 

有人有足夠的代表發表意見,請其添加到Mike's答案評論。我會清除我的。

相關問題