您是否应该在 运行 代码时需要在 virtualenv 中才能访问已安装的依赖项?
Are you supposed to need to be in the virtualenv whenever running code in order to access the installed dependencies?
我已经通过 python -m venv virtualenv
设置了一个 virtualenv 文件夹,旁边是我的包含 flask 代码的 backend
文件夹。
但是,当我运行 flask 代码时,找不到flask 模块。我在 virtualenv 处于活动状态时安装了它,如果我在 virtualenv 处于活动状态时尝试 运行ning 它,那么它可以正常工作并找到烧瓶。但是,如果我停用 virtualenv,那就不行了。它找不到依赖项。
这是应该如何工作,还是我配置有误?我需要一直使用 virtualenv active 吗?我觉得不对。
实际上,当您在虚拟环境中安装依赖项时,您必须在 运行 启动项目之前激活它,但是您也可以通过终端(在虚拟环境之外)直接将依赖项安装到系统中,并且可以运行 项目。
最好有一个虚拟环境,以便将您的项目依赖项和额外的依赖项分开。对于大项目,可以很方便的收集需要的依赖,不用统计哪些没有用到。
是的,这是预期的行为。但是...
您不需要“激活”任何虚拟环境。重要的一点是确保使用位于虚拟环境中的解释器。
说你 运行 python -m venv /path/to/venv
。虚拟环境在 /path/to/venv
处创建,您将在 /path/to/venv/bin/python
.
处找到一个 Python 解释器可执行文件(或符号 link)
然后您可以致电 /path/to/venv/bin/python -m pip install flask
。还有/path/to/venv/bin/python /path/to/some_script.py
。这些都会利用虚拟环境隔离。
并且当你激活虚拟环境时,/path/to/venv/bin
目录被放置在PATH
环境变量的顶部,这样当你输入python
,找到的第一个 python
可执行文件自动为 /path/to/venv/bin/python
.
我已经通过 python -m venv virtualenv
设置了一个 virtualenv 文件夹,旁边是我的包含 flask 代码的 backend
文件夹。
但是,当我运行 flask 代码时,找不到flask 模块。我在 virtualenv 处于活动状态时安装了它,如果我在 virtualenv 处于活动状态时尝试 运行ning 它,那么它可以正常工作并找到烧瓶。但是,如果我停用 virtualenv,那就不行了。它找不到依赖项。
这是应该如何工作,还是我配置有误?我需要一直使用 virtualenv active 吗?我觉得不对。
实际上,当您在虚拟环境中安装依赖项时,您必须在 运行 启动项目之前激活它,但是您也可以通过终端(在虚拟环境之外)直接将依赖项安装到系统中,并且可以运行 项目。
最好有一个虚拟环境,以便将您的项目依赖项和额外的依赖项分开。对于大项目,可以很方便的收集需要的依赖,不用统计哪些没有用到。
是的,这是预期的行为。但是...
您不需要“激活”任何虚拟环境。重要的一点是确保使用位于虚拟环境中的解释器。
说你 运行 python -m venv /path/to/venv
。虚拟环境在 /path/to/venv
处创建,您将在 /path/to/venv/bin/python
.
然后您可以致电 /path/to/venv/bin/python -m pip install flask
。还有/path/to/venv/bin/python /path/to/some_script.py
。这些都会利用虚拟环境隔离。
并且当你激活虚拟环境时,/path/to/venv/bin
目录被放置在PATH
环境变量的顶部,这样当你输入python
,找到的第一个 python
可执行文件自动为 /path/to/venv/bin/python
.