2014-11-04 110 views

回答

3

基本上,問題是點子仍在使用原始python調用的python可執行文件。要解決這個問題,你需要從傳入的環境變量中刪除它。這裏是解決方案:

#!/usr/bin/python3 
import os 
import subprocess 

python_env_var = {"_", "__PYVENV_LAUNCHER__"} 
CMD_ENVIRONMENT = {name: value for (name, value) in os.environ.items() 
        if name not in python_env_var} 
subprocess.call('./pip install -r requirements.txt', shell=True, 
       env=CMD_ENVIRONMENT) 

測試在Mac,Ubuntu的14.04和Windows使用Python 3

同樣的問題可以很容易地存在很多情況 - 我會從現在開始將刪除此變量,以在處理virtualenv的時候防止這種行爲