python - Python venv 以编程方式
问题描述
我们正在尝试将 venv 功能添加到我们的 python 项目,即当一个运行项目时,会在项目路径中创建一个 venv,并且项目在该 venv 上运行。为此,我们使用了 vurtualenv 的创建环境方法和 activatethis.py 方法创建 venv ,但是当项目运行时,它仍然使用主机包。而不是使用 venv 我做错什么了..有可能这样做吗?PS:我在创建环境方法中尝试了站点包 true 和 false .. 但是没有帮助
添加更多信息:使用的命令是
venv_dir = os.path.join("path to project")
virtualenv.create_environment(venv_dir)
execfile(os.path.join(venv_dir, "bin", "activate_this.py"))
还更新了路径环境变量以包含 venv 的 bin
在此之后,我希望我的代码(在此之后)能够在虚拟环境中运行。
我没有使用任何 ide 并期望代码在运行时创建 venv
使用 python 2.7
有没有其他方法可以在运行时在虚拟环境中运行项目,而无需在 Ubuntu 服务器环境中使用任何 ide。
解决方案
您没有提供足够的信息让我们为您的确切问题提出解决方案,尽管我会尽力帮助您。
您不应该在venv
每次运行项目时都创建一个,这听起来就像您正在做的那样。这实际上是在您每次运行项目时创建一个新的解释器。如果您使用的是不错的 IDE,例如 PyCharm,您应该能够通过项目设置正确设置它。
那里有很多关于设置venv
和virtualenv
在您的计算机上的教程,并且鉴于我们对您的系统了解不多,您最好的选择是做一些进一步的研究。
本质上,您需要
- 为项目创建一个
venv
(并为您从这里开始制作的每个项目创建一个新项目,除非您想使用机器的解释器) - 将项目解释器设置为
venv
您刚刚创建的。将任何外部库放置在...\venv\Lib\site-packages
希望这可以帮助。
推荐阅读
- java - 通过 id 访问以编程方式生成的 CustomView 对象
- python - 通过对每个元素的长度求和来获得列表的总长度
- ios - 在不同视图控制器之间转换后,屏幕上闪烁的线条约 1 秒
- ios - 模态表可以在 SwiftUI 中有导航栏吗?
- haskell - 如何重构 Haskell 列表 Monad 代码?
- php - 获取所有具有特定关系的模型
- php - 将自定义操作添加到 ApiPlatform 文档中的不同组
- c++ - 如何在 C++ 中使用 FindWindow 在 unicode 中搜索
- c# - 在 Hololens 1 的 2D UWP 应用程序中检测空中点击事件
- ruby-on-rails - Rails 6:Rails 未定义