【发布时间】:2018-07-03 12:42:54
【问题描述】:
几个月前,我开始使用 Python 进行开发。我正在使用虚拟环境,因为在我遵循的使用 Python 绑定安装 OpenCV 的教程中强烈建议这样做。我想知道安装新模块(在 Ubuntu 上)的最佳做法是什么。虚拟环境的名称是cv。从命令行安装时,我应该在虚拟环境中吗? IE。我应该输入
pip3 install modulename
或
workon cv
pip3 install modulename
或两者兼而有之?它应该有所作为吗?
【问题讨论】:
-
它有所不同,因为这就是 virtualenvs 的用途:分离工作环境并只安装到它们:所以最好使用第二种方法,否则它将被全局安装(并且可能在env,我不太喜欢它)..
-
作为@NicoAlbers 所说的一个例外,如果您在所有项目中都使用某个包,您不妨全局安装它并使用
--system-site-packages启动您的虚拟环境。这对于您可能在自己的系统上构建的常用和大型软件包(如 numpy、scipy 或 cython)特别有用。 -
另一个有用的提示,使用
pip freeze,您可以构建您的 requirements.txt,您可以轻松选择要安装的软件包和版本,将它们安装到您的 venv 轻松将 requirements.txt 移动到你的venv并使用pip install -r requirements.txt,确保你进入你的venv可以通过使用which python来完成更多信息here -
所有有用的cmets;有人应该将它们包括在答案中。
-
@ArneRecknagel 那么默认情况下,任何全局安装的包都不会在虚拟环境中可用?我必须将
--system-site-packages条目放在哪里?谢谢大家.. 使用 PyDev 时,整个事情肯定会变得更加混乱
标签: python virtualenv