Creating “virtualenv” for an existing project
我有一条我一直在研究的Python。现在我意识到我需要一个虚拟环境来实现它。如何为现有项目创建它?如果我这样做:
它能用吗?或者我必须重新创建我的项目,创建virtualenv,然后将现有文件复制到它?
- 您的项目应该提供requirement.txt用于部署。
- 可能是全面的初学者虚拟环境教程的副本?
- 你试过了吗?有问题吗?
您只需使用virtualenv venv创建一个虚拟环境,并从venv/bin/activate开始。您将需要使用pip重新安装所有依赖项,但其余的应该可以正常工作。
- 你能提供更多关于virtualenv venv的信息吗?这是在当前shell路径中创建一个venv目录,还是在全局文件系统的某个位置创建它?
- @Bigz有没有一种使用virtualenvwrapper的方法?MkVielalEnv?
- 对我来说,它是与source venv/bin/activate一起工作的,而不是与那里的东西一起工作的。
- @亚历克斯我刚刚测试了它,在运行命令virtualenv venv的目录中创建了venv文件夹。
关键是创建requirements.txt。
正常创建virtualenv。不要激活它。
现在您需要安装所需的软件包。如果你不容易记住,请询问pip:
1
| pip freeze > requirements.txt |
现在编辑requirements.txt,以便只包括已知安装的软件包。请注意,该列表将包含所有已安装包的所有依赖项。删除它们,除非您想显式地固定它们的版本,并知道您在做什么。
现在激活virtualenv(正常的source path/to/virtualenv/bin/activate)。
安装已收集的依赖项:
1
| pip install -r requirements.txt |
依赖项将安装到您的virtualenv中。
同样,您可以在部署目标上重新创建相同的env。
- 为什么这么难?为什么不创建virt env,激活它并冻结需求?
- 因为新的虚拟环境将没有以前安装的库。pip freeze首先是需求,然后创建一个新的环境,激活它,然后是pip install -i requirements.txt。最后一个命令将从新的虚拟环境运行pip,当您停用该虚拟环境以处理其他内容时,因此安装的库将不可用…
- 我还推荐优秀的virtualenvwrapper。然后,你可以通过mkvirtualenv 、workon 和deactivate四处走动,这是很容易记住的。
- 这些步骤给我的错误(但对于另一个库)与stackoverflow.com/questions/28167987/…