0
我想要一個python腳本,它在開始時創建一個虛擬環境,安裝所需的模塊(例如cherrypy),然後繼續執行其餘的代碼。 我發現迄今如下: 如何在python中使用virtualenv和pip
import os, virtualenv
HOME_DIRECTORY = "venv"
virtualenv.create_environment(HOME_DIRECTORY)
execfile(os.path.join(HOME_DIRECTORY, "bin", "activate_this.py"))
import pip
pip.main(["install", "--prefix", HOME_DIRECTORY, "cherrypy"])
import cherrypy
class Root(object):
@cherrypy.expose
def index(self):
return "Hello World!"
if __name__ == '__main__':
cherrypy.quickstart(Root(), '/')
的腳本創建虛擬環境,並安裝CherryPy的(基於日誌),但我仍然得到ImportError: No module named cherrypy
錯誤。 我也試過以下,但得到了同樣的錯誤:
import importlib
CHERRYPY = 'cherrypy'
try:
importlib.import_module(CHERRYPY)
except ImportError:
import pip
pip.main(["install", "--prefix", HOME_DIRECTORY, CHERRYPY])
finally:
globals()[CHERRYPY] = importlib.import_module(CHERRYPY)
除了上述問題,另外,我想知道如何指定Python版本(如蟒蛇3.6),並創建虛擬環境。謝謝。
當您進入新的venv並嘗試在控制檯中導入模塊時會發生什麼? –
使用python3 -m venv代替virtualenv –
'conda'是管理虛擬環境的更強大的工具。試試。 – lwshang