仅使用虚拟环境(venv)中定义的库运行脚本

问题描述 投票:0回答:1

我在一个脚本上工作了一段时间,现在我想为其创建一个 virtualenv,创建

requirements.txt
,因此当我将脚本部署到服务器时,所有必需的库都将从
requirements.txt
文件安装,并且我不需要一个又一个地安装库。

因此,我创建了一个 venv (

virtualenv .venv
),激活它 (
. .venv/bin/activate
),检查这个新创建的 venv 中安装的库并得到以下输出:

Package    Version
---------- -------
pip        24.0
setuptools 69.2.0
wheel      0.43.0

好吧,现在我假设如果我运行我的脚本,它会崩溃,因为这个 venv 中缺少库。然而,剧本一切顺利。我认为这是因为 Python 不知何故发现它安装在我的笔记本电脑上的其他地方并使用了它们。

如何强制脚本运行并仅使用

venv
中安装的库,这样我就不会忘记将这些库添加到
venv
中,当我将脚本移动到服务器时,一切都会得到从
requirements.txt
顺利安装?

python virtualenv
1个回答
1
投票

默认情况下,python 还会从用户站点包中导入包。可以使用

-s
标志

禁用此功能
python -s script.py
© www.soinside.com 2019 - 2024. All rights reserved.