使用虚拟环境时安装python模块

2024-04-20

几个月前,我开始使用 Python 进行开发。我使用虚拟环境是因为我在使用 Python 绑定安装 OpenCV 的教程中强烈建议这样做。我想知道安装新模块(在 Ubuntu 上)的最佳实践是什么。虚拟环境的名称是cv。从命令行安装时,是否应该在虚拟环境中? IE。我应该输入

pip3 install modulename

or

workon cv
pip3 install modulename

或两者?它应该有所作为吗?


virtualenv 是做什么的?

虚拟环境 https://virtualenv.pypa.io/en/stable/将本地 python 解释器复制到文件夹中,一旦激活,将其位置添加到您的文件夹中PATH- 意味着那里的 python 可执行文件将用于运行 python 代码。本质上就是这样。

我如何激活它/检查它是否处于活动状态?

创建 virtualenv 后,例如,virtualenv venv,您可以使用以下命令激活它source ./venv/bin/activate - done.

如果您不确定 venv 是否处于活动状态,通常只需查看命令行即可,其中包含其名称,如下所示:(venv) user@workstation:~$ 。或者,您可以运行python -c "import sys; print(sys.executable)",然后它将打印 venv 的位置而不是/usr/bin/python,或者任何系统默认值。

由于很多人使用 PyCharm,请遵循这些说明 https://www.jetbrains.com/help/pycharm-edu/creating-virtual-environment.html在 IDE 中使用 venv。它简单又方便,所以如果你使用 PyCharm,我建议你用它来处理你的 venvs。

为什么我想要这一切?

相互隔离开发环境可以为您节省lot的头痛。也许您想尝试最新的 python 开发版本,但不想在您珍贵的系统上释放它,也许您需要为不同的项目使用不同版本的 python 包。一般来说,在源代码更改时保持执行环境静态是一个非常好的主意。

如何将软件包安装到虚拟环境中?

默认情况下,安装软件包所需的工具,setuptools, pip, and wheel已经打包到新创建的 venv 中,您只需安装一个包即可pip install package_name。注意不使用须藤,因为这会将执行用户更改为 root 并绕过 venv 激活。

一些用例

  • virtualenv -p pyhton3.7 venv-- 我想使用与我的默认解释器不同的 python 解释器,例如python3.7. 需要在系统上安装所述 python 解释器 https://stackoverflow.com/questions/2547554/official-multiple-python-versions-on-the-same-machine!
  • virtualenv --system-site-packages venv-- 我想使用 venv 中使用的 python 解释器已安装的所有软件包。如果您经常使用像 numpy 这样的大包,这很有用。
  • virtualenv venv && source ./venv/bin/activate && pip install -r requirements.txt-- 从 github 克隆一个项目后(并且cding into it),为其设置一个独立工作的Python环境。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用虚拟环境时安装python模块 的相关文章

  • Python lambda 函数没有在 for 循环中正确调用[重复]

    这个问题在这里已经有答案了 我正在尝试使用 Python 中的 Tkinter 制作一个计算器 我使用 for 循环来绘制按钮 并且尝试使用 lambda 函数 以便仅在按下按钮时调用按钮的操作 而不是在程序启动时立即调用 然而 当我尝试这
  • 将新形状传递给“np.reshape”

    Within numpy ndarray reshape https docs scipy org doc numpy reference generated numpy ndarray reshape html the shape参数是一
  • 在 django 中构建动态表单

    我正在尝试根据存储在数据库中的字段及其定义动态构建一个表单 在我的数据库中 我定义了 1 个带有一些标签的复选框和 1 个带有一些标签的文本字段 如何根据数据库中的数据在我的视图中动态构建表单 Thanks 以下是我在 EuroDjango
  • 如何在代码中停止 autopep8 未安装消息

    我是一名新的 Python 程序员 使用 Mac 版本的 VS Code 1 45 1 创建 Django 项目 我安装了 Python 和 Django 扩展 每次我保存 Django 文件时 代码都会弹出此窗口 Formatter au
  • 可视化时间序列时标记特定日期

    我有一个包含几年数据的时间序列 例如 ts pd Series np random randn 1000 index pd date range 1 1 2000 periods 1000 ts ts cumsum ts plot 我还有两
  • 通过 pyodbc 连接到 Azure SQL 数据库

    我使用 pyodbc 连接到本地 SQL 数据库 该数据库工作正常 SQLSERVERLOCAL Driver SQL Server Native Client 11 0 Server localdb v11 0 integrated se
  • 这是我尝试安装 pip3 时得到的结果

    这是我尝试安装 pip3 时得到的结果 sudo apt get install python3 pip Reading package lists Done Building dependency tree Reading state i
  • python: X 服务器上的致命 IO 错误 11(资源暂时不可用):0.0

    我正在尝试读取一些图像 稍后打算对它们执行一些任务 同时将图像读入内存 我想显示动画 gif 图像 为此 我必须使用线程 现在它给出错误 python Fatal IO error 11 Resource temporarily unava
  • 使用 Pandas 滚动差异

    您好 我正在尝试使用 Pandas 滚动函数来计算下表中的滚动差异 我正在尝试生成 每月可用项目 列中的值 但没有得到任何结果 请帮忙 Item Adds Subtracts Month Monthly Available items A
  • python中remove方法的安全使用

    我从列表继承了一个 UserList 类并实现了以下方法来删除标记为已删除的条目 def purge deleted self for element in list iter self if ele mark deleted lt 1 s
  • Python、cPickle、酸洗 lambda 函数

    我必须像这样腌制一组对象 import cPickle as pickle from numpy import sin cos array tmp lambda x sin x cos x test array tmp tmp tmp tm
  • 将 Matlab MEX 文件中的函数直接嵌入到 Python 中

    我正在使用专有的 Matlab MEX 文件在 Matlab 中导入一些仿真结果 当然没有可用的源代码 Matlab 的接口实际上非常简单 因为只有一个函数 返回一个 Matlab 结构体 我想知道是否有任何方法可以直接从Python调用M
  • 调试 python Web 服务

    我正在使用找到的说明here http www diveintopython net http web services user agent html 尝试检查发送到我的网络服务器的 HTTP 命令 但是 我没有看到按照教程中的建议在控制
  • 如何从列表中删除“\xe2”

    我是 python 新手 正在使用它在我的项目中使用 nltk 对从网页获得的原始数据进行单词标记后 我得到了一个包含 xe2 xe3 x98 等的列表 但是我不需要这些并想删除它们 我只是尝试过 if x in a and if a st
  • 计算素数并附加到列表

    我最近开始尝试使用 python 解决 Euler 项目的问题 并且在尝试计算素数并将其附加到列表中时遇到了这个障碍 我编写了以下代码 但我很困惑为什么它在运行时不输出任何内容 import math primes def isPrime
  • 在 python 中计时时,我应该如何考虑 subprocess.Popen() 开销?

    编码社区的成员比我更聪明 我有一个 python 问题要问你们 我正在尝试优化一个 python 脚本 该脚本 除其他外 返回子进程执行和终止的挂钟时间 我想我已经接近这样的事情了 startTime time time process s
  • 使用 JSON 可序列化枚举自动生成棉花糖模式

    创建与我的模型相同的棉花糖模式的日子已经一去不复返了 我发现这个优秀的答案 https stackoverflow com a 42892443 4097322这解释了我如何使用简单的装饰器从 SQA 模型自动生成模式 因此我实现了它并替换
  • 如何在特定时间启动Tornado周期性回调?

    目前在我的 Tornado 应用程序中 我正在使用定期调用回调PeriodicCallback每隔一小时 像这样 import tornado ioloop from tornado ioloop import PeriodicCallba
  • mypy 错误:赋值中的类型不兼容(表达式的类型为“Dict[, ]”,目标的类型为“List[str]”)

    我尝试过了实例化一个空字典在现有字典的第二层上 然后为其分配一个键值对 但 MyPy 会抛出错误 这是一个最小的示例 当激活 MyPy 检查时它将重现它 result Test something result key result key
  • 应用程序的外观 - Py2exe / wxPython

    所以我的问题是我的应用程序的外观和感觉 因为它看起来像一个旧的外观应用程序 它是一个 wxPython 应用程序 在 python 上它运行良好并且看起来不错 但是当我使用 py2exe 将其转换为 exe 时 外观很糟糕 现在我知道如果你

随机推荐