我有一个Python脚本,可以将其从数据库中提取出来并显示在excel电子表格中。因为需要多个人此脚本,所以我将脚本放置在网络驱动器上。为了运行该脚本,我还在工作站上的文件夹中创建了一个虚拟环境,然后将其复制到网络位置。我有一个批处理文件,该文件使用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
非常感谢您的帮助。
答案 0 :(得分:0)
感谢您的帮助。事实证明,virtualenv并没有达到我的预期。虚拟环境不能移植到其他机器/环境中。
我最终选择了pyinstaller将脚本打包到应用程序中。这非常简单快捷。
要安装pyinstaller并创建应用程序,我只需按照此处的说明进行操作: