如何在没有 python 的计算机上使用第三方库运行 python 脚本?

Posted

技术标签:

【中文标题】如何在没有 python 的计算机上使用第三方库运行 python 脚本?【英文标题】:How to run python script with third party libraries on computer without python? 【发布时间】:2022-01-23 19:09:42 【问题描述】:

我正在做课程作业,其中一项重要要求是为脚本创建一个.bat 文件。 bat 文件应该运行脚本。我迈出了这一步,直到我突然想到一个想法。

代码.bat文件:

@echo off
py -u "Task_1.py"
echo %ERRORLEVEL%
pause

在我的代码中,我使用了许多第三方库,包括用于创建界面。假设这个脚本将在没有 python 的计算机上运行。是否有可能以某种方式编写一个.bat 文件来检查 python 和第三方库的存在,并在它们不存在的情况下下载它们?有没有人做过类似的事情,你能建议如何实现吗?

【问题讨论】:

你能创建一个powershell脚本,批处理文件也会执行 - 你可以让它安装python 【参考方案1】:

您可以让 .bat 文件运行您创建的 python 环境和 pip install 依赖项,这值得研究。

【讨论】:

【参考方案2】:

This 回答说 curl 带有 Windows 10 或更高版本。因此我会卷曲安装程序:

curl https://www.python.org/ftp/python/3.10.1/python-3.10.1-amd64.exe

现在使用 /quit 运行它,this 答案:

.\python-3.10.1-amd64.exe /quiet

然后您可以按照official pip website 的建议作为替代方法安装 pip:

py -m pip install --upgrade pip

现在您可以使用 pip install 来获取您可能需要的任何库:

pip install numpy

注意:我无法在我的 Windows 上对此进行测试,因此请谨慎使用

【讨论】:

如果我没记错的话,你需要将curl输出重定向到一个文件或者使用-o选项【参考方案3】:

我找到了一个帖子来检查是否安装了 python (How do I test if Python is installed on Windows (10), and run an exe to install it if its not installed?)。它很好地解释了它。 对于模块,我建议使用pip 并通过需求文件安装所需的模块。

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。【参考方案4】:

在您的.bat 脚本中,您可以先运行py --version 并检查命令的返回码,看看Windows 是否可以找到py

如果不能:

下载 Python 安装程序。我不知道哪个实用程序应该在 Windows 上执行此操作,但它应该类似于此(Linux 上的wget,将安装程序另存为python-installer.exe):
wget -O python-installer.exe https://www.python.org/ftp/python/3.10.1/python-3.10.1-amd64.exe
然后启动它并让用户完成安装:
./python-installer.exe

然后,如果需要,执行pip install --user your libs 安装库。

然后,运行您的 Python 脚本。

【讨论】:

以上是关于如何在没有 python 的计算机上使用第三方库运行 python 脚本?的主要内容,如果未能解决你的问题,请参考以下文章

(最简单)在同一台计算机上使用 Python 3.6 和 3.7 的方法?

如何修复仅在一台计算机上运行的 Exe 文件

如何使用python pypsexec.client库在Windows远程计算机上传递命令的动态输入

如何获得在没有 WMI 的远程计算机上运行的进程的所有者

国计算机二级python要求掌握到哪种程度,有没有考过的大神分享一下经验

如何使我的 Python 程序提供的功能可用于在同一台或其他计算机上运行的以其他语言编写的程序?