在虚拟环境中找不到 contextlib

contextlib not found in virtual environment

我有一个 Python 脚本,该脚本用于从数据库中提取数据并将其呈现在 excel 电子表格中。因为多人需要这个脚本,所以我把脚本放到了网盘上。对于 运行 脚本,我还在工作站的文件夹中创建了一个虚拟环境,然后将其复制到网络位置。我有一个批处理文件,其中 运行s 使用虚拟环境版本 Python 的脚本。

当我 运行 我的工作站上的批处理文件(来自网络驱动器)时,一切正常。当另一位未在其工作站上安装 Python 的用户使用批处理文件 运行 时,他们会收到以下错误:

ModuleNotFoundError: 没有名为 'contextlib'

的模块

错误的回溯来自:

virtualenv\lib\site.py

virtualenv\lib\importlib\util.py

创建虚拟环境时我是否遗漏了什么?为了创建它,我使用了以下命令(在 Windows 上):

mkdir virtualenv
virtualenv virtualenv
\virtualenv\Scripts\activate
pip install [packages required for script]]
\virtualenv\Scripts\deactivate

非常感谢任何帮助。

感谢您的帮助。事实证明,virtualenv 并没有像我想象的那样做。 virtialenv 不可移植到其他 machines/evironments.

我最终使用 pyinstaller 将脚本打包到应用程序中。这非常简单快捷。

要安装 pyinstaller 并创建应用程序,我只是按照此处的说明操作:

https://www.pyinstaller.org/