【问题标题】:How to use virtualenv in Python project?如何在 Python 项目中使用 virtualenv?
【发布时间】:2023-04-11 08:27:01
【问题描述】:

我正在尝试在我的新主要 Python 项目中使用 virtualenv。代码文件位于 ~/Documents/Project,我在那里安装了一个虚拟环境,位于 ~/Documents/Project/env。我在 env/bin 文件夹中有我想要的所有包和库。

问题是,我如何使用这个虚拟环境实际运行我的 Python 脚本?我在终端中激活它,然后打开 idle 作为测试,然后尝试

“导入 django”

但它不起作用。基本上,我如何在运行项目时将虚拟环境中安装的库与我的项目一起使用,而不是使用已安装 Python 库的标准目录?

【问题讨论】:

  • 如果你启动一个 virtualenv,然后打开 IDLE,我认为 IDLE 不会打开引用你的 virtualenv。

标签: python django virtualenv


【解决方案1】:

查看下面的示例以及 virtualenv 文档。如果您按照以下步骤操作,它实际上相当简单:

virtualenv Project  # creates a new Project dir
cd Project/bin      # could just call Project/bin
. activate          # should now have (Project) in the prompt name
pip install django  # without this, won't be able to import django
deactivate          # switch of virtual mode 

我在我的 Mac 上尝试了上述方法并且工作正常。这是一个供参考的成绩单。

操作记录

[MacMini]<Documents> :virtualenv Project

[MacMini]<Project> :cd bin/

[MacMini]<bin> :python2.7
Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named django
>>> quit()

[MacMini]<bin> :. activate

(Project)[MacMini]<bin> :pip install django
You are using pip version 6.0.6, however version 8.1.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting django
  Downloading Django-1.9.4-py2.py3-none-any.whl (6.6MB)
    100% |################################| 6.6MB 1.2MB/s
Installing collected packages: django

Successfully installed django-1.9.4

(Project)[MacMini]<bin> :python
Python 2.7.10 (default, Oct 23 2015, 18:05:06)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> quit()

(Project)[MacMini]<bin> :deactivate

【讨论】:

  • 我认为问题可能是我的 Python 代码没有放在正确的位置。现在,我的所有源代码都在 /Documents/Project 下,环境也在其中。我是否必须将我的项目 Python 文件放在环境文件夹中的特殊目录中? @abehrens
  • 这应该不是问题,除非您的代码目录结构与阻止正确获取“激活”的 virtualenv 结构冲突。尝试先创建一个全新的临时环境,然后将您的代码复制到该临时环境。请记住“获取激活”脚本而不是实际执行它。另外,检查您是否已清除任何 PYTHONPATH 变量。
【解决方案2】:

为所有依赖项创建一个 requires.txt 文件也是一个好习惯。例如,如果您的项目需要 Flask 和 pymongo,请创建一个文件:

Flask==<version number you want here> pymongo==<version number you want here>

然后您可以通过以下方式安装所有必要的库:

pip install -r requires.txt

如果你想分享你的项目或者不想记住你在 virtualenv 中需要的每个库,那就太好了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-04
    • 2012-04-06
    • 2019-03-25
    • 2023-01-14
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 2018-10-26
    相关资源
    最近更新 更多