如何将特定版本的脚本打包进一个文件夹并正常执行?

我想用某个特定的版本(3.11.6)运行脚本,因为torch这个库暂时不支持python3.12。
但我用3.12版本作为主力,所以用virtualenv虚拟了一个环境。
问题是每次运行torch的程序都要进入这个虚拟环境,而我需要用传参的形式调用脚本,如:

python3.11.6 myscript.py -d "xxx"

给第三方程序调用的

之前想打包成exe,但pyinstaller问题太多,不会用,缺各种我没导入过的包(应该是使用的包依赖的),弄了一晚上还是不行,缺太多。放弃了。

那么,我能直接用3.11.6版本的python打开脚本吗?并保证运行正常?
最好能打包进一个文件夹使用

谢谢

阅读 1k
1 个回答

如果你是用的linux系统,可能直接用docker会是一个比较好的选择。


其实我觉得你可以直接去下载embed版的python,不是安装版的python。
下载了之后解压,直接执行里面的python.exe,配合一个bat脚本,就能满足你的需求(打包进一个文件夹)。

具体步骤:

下载 https://www.python.org/ftp/python/3.11.6/python-3.11.6-embed-...

然后解压 D:/yourapp/。

然后下载 https://bootstrap.pypa.io/get-pip.py 到一个位置,和执行安装pip
image.png
image.png

编辑 python311._pth 这个文件,取消这里的注释
image.png

用pip安装你的依赖包。
image.png

然后准备你的代码,忽略这里的伪代码。。。
image.png

以及这个bat脚本;

@echo off
REM  用 python.exe 调用 run.py 并传递所有输入参数
.\python-3.11.6-embed-amd64\python.exe .\code\run.py %*

最后的效果就是:
image.png

现在你可以的把 yourapp 这个文件夹复制到其他的电脑上运行了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏