簡體   English   中英

使用最新版本的python創建virtualenv

[英]Create virtualenv with most recent version of python

我最近將Mac的python版本更新為2.7.10,可以確認發生了此更改:

$ python --version
Python 2.7.10

但是,當我制作一個新的virtualenv時,python版本仍然是一個舊版本:

(ENV)$ python --version
Python 2.7.6

關於如何創建使用Python 2.7.10的virtualenv的任何建議?

明確地說,我的問題不同於 這一問題。 /usr/bin/中沒有分別稱為python2.7.6python2.7.10二進制文件; 相反,只有一個名為python2.7二進制文件。 我已經嘗試了以下virtualenv -p序列無效。 :(

$ virtualenv -p /usr/bin/python2.7 ENV
$ source ENV/bin/activate
(ENV)$ python --version
Python 2.7.6

任何其他想法/建議將不勝感激。 謝謝!

virtualenv命令本身是一個包裝器腳本,使用安裝在其中的python運行。

在我的系統上,我安裝了多個版本的python-Python.org中的3.4版本,系統python中的2.7.9版本和homebrew中的2.7.9版本。 我的virtualenv看起來像這樣:

#!/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4

# -*- coding: utf-8 -*-
import re
import sys

from virtualenv import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

在您的情況下,它正在調用您的舊python(2.7.6)。

每次安裝virtualenv時,包裝腳本都會被替換。 因此,我個人從不使用virtualenv包裝器腳本,我總是直接使用python調用模塊,因此我知道我在使用哪個python。

$ python -m virtualenv <your-env>

如果收到“沒有名為virtualenv的模塊”錯誤,則表明新python的站點包中未安裝virtualenv。


關於-p評論:值得注意的是,如果您刪除了舊的python, virtualenv -p將不起作用。 您將從bash中收到不友好的“錯誤解釋器”錯誤。

我能夠解決我的問題。 從概念上講,問題就像@Seth所述,但是我只想分享我使用的確切步驟,以防將來其他人遇到此問題。

  1. 打開運行您首選的python版本的python終端。

     $ python 
  2. 在python終端中運行以下命令:

     >>> import sys >>> print sys.executable /path/to/python/that/is/being/used/ >>> exit() 
  3. 使用以下命令和新獲取的python路徑創建一個新的virtualenv:

     virtualenv -p /path/to/python/that/is/being/used/ ENV 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM