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

接地气的编码师

我想用某个特定的版本(3.11.6)运行脚本,因为torch这个库暂时不支持python3.12。 但我用3.12版本作为主力,所以用virtualenv虚拟了一个环境。 问题是每次运行torch的程序都要进入这个虚拟环境,而我需要用传参的形式调用脚本,如: python3.11.6 myscript.py -d "xxx" 给第三方程序调用的 之前想打包成exe,但pyinstaller问题太多,不会用,缺各种我没导入过的包(应该是使用的包依赖的),弄了一晚上还是不行,缺太多。放弃了。 那么,我能直接用3.11.6版本的python打开脚本吗?并保证运行正常? 最好能打包进一个文件夹使用 谢谢

阅读量:15

点赞量:0

问AI
如果你是用的linux系统,可能直接用docker会是一个比较好的选择。 *** 其实我觉得你可以直接去下载embed版的python,不是安装版的python。 下载了之后解压,直接执行里面的python.exe,配合一个bat脚本,就能满足你的需求(打包进一个文件夹)。 具体步骤: 下载 "https://www.python.org/ftp/python/3.11.6/python-3.11.6-embed-..." (https://link.segmentfault.com/?enc=Hlao1r45PcVu%2Fgh9Fu16xw%3D%3D.mXAzDNGFtaVRQrrCBmxLHP%2Fe7VHGEQwt1EEV8Gg9jJrOSuT1ddrLMJieAn%2BwD0o1NWAa5uQceOGd6T%2F1ee4hGLnGlU%2BJNH227sOsTu82ihw%3D) 然后解压 D:/yourapp/。 然后下载 "https://bootstrap.pypa.io/get-pip.py" (https://link.segmentfault.com/?enc=KbJ8oq%2FuaFLh8Xi72FRykw%3D%3D.7%2FxYq6iXveZUJO4FokZtbh96PFqbmsfmsB9SoD2BfLINmupQ7sdPaTXeIFcSbwOO) 到一个位置,和执行安装pip "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241112/799ef4abc3c780d9f6efcdd81a8d6974.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241112/d5e1332dd3ab2e3febae81fa4fe137bb.png) 编辑 python311._pth 这个文件,取消这里的注释 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241112/1e108822fd6fefe03842e7324dff3aa4.png) 用pip安装你的依赖包。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241112/7d67bea5efefb90048b32863b7045ec5.png) 然后准备你的代码,忽略这里的伪代码。。。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241112/93fb9cc6b66bf05734bc5761fb8c94dd.png) 以及这个bat脚本; @echo off REM 用 python.exe 调用 run.py 并传递所有输入参数 .\python-3.11.6-embed-amd64\python.exe .\code\run.py %* 最后的效果就是: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241112/0abbab8d782a6662297059b0cde34b65.png) 现在你可以的把 yourapp 这个文件夹复制到其他的电脑上运行了。