python - 在 Python 中本地安装模块到脚本
问题描述
我有以下问题:我必须在 Windows 系统上运行一些测试/诊断 Python 脚本。由于明确的要求,系统没有默认的系统范围的 Python 实例,但是安装了两个不同的 Python 实例,由系统上运行的应用程序在本地使用。但是,这两个实例都缺少我的脚本使用的一些基本模块(如日志记录、urllib、configparser 等)。
我想运行%PYTHONPATH%\python.exe myscript.py
where%PYTHONPATH%
指向已安装的 Python 实例之一,但在外部 %PYTHONPATH%
“某处”安装所需的附加模块(最好在安装我的脚本的同一目录中),以便我的脚本可以使用它们。
由于我的脚本是一个测试工具,它不应该修改操作系统或安装的软件,所以%PYTHONPATH%
不应该以任何方式更改 Python 安装。
还期望安装可以完全自动化,即。最好的安装方法是将模块与我的解压到目标路径的脚本放在同一个 .zip 文件中。
系统不能上网也很重要,所以我必须在另一台机器上下载所需的文件并将它们复制到目标系统。
你能指导我怎么做吗?
解决方案
我自己找到了答案 - 这很简单:
- 从适当的 Python 版本分发中获取包含标准模块的 zip 文件(在我的情况下,它是文件
python38.zip
,它位于可从 Python 站点下载的主 zip 文件中) - 将这个文件的内容解压到,包含我的脚本的目录
c:\mydir\Python38\site-packages
在哪里c:\mydir
PYTHONUSERBASE=c:\mydir
在运行我的脚本之前设置环境变量
现在我可以运行脚本,它会在c:\mydir\Python38\site-packages
.
推荐阅读
- webpack - Webpack 4 摇树和模块副作用
- django - Wagtail ListBlock - 如何访问模板中的第一个(任何)元素?
- asp.net-core - .Net 标准版 .Net core 2.2
- c# - 当我使用 CancellationTokenSource 时,我是传递对它的引用还是对 CancellationTokenSource.Token 的引用?
- javascript - 如何在类中获取调用者函数?
- javascript - JavaScript:使用一些规则将字符串转换为 json
- java - Java SWT - 编译后缩放的背景图像不起作用
- jsf - 从 CKEditor 生成 HTML5 输出
- node.js - 无法读取 cookie 的属性验证
- sql - 匹配具有相同列的多个表之间的键值对