新手求问,手头只有一台 m 芯片的 Mac,如何把一个非常简短的 Python 脚本做成一个可以在 x86_64 win10 上运行的可执行文件?

2023-07-14 18:50:35 +08:00
 fulei

新手求问,手头只有 M 芯片的 Mac 电脑,装虚拟机也只能装 arm win,我写了一个非常简单的 python 脚本,想把它放在公司的不联网的 x86_64 win10 上使用,最简单的方法是什么? 麻烦有时间的大佬们说详细一点,谢谢

5298 次点击
所在节点    Python
81 条回复
ysc3839
2023-07-14 19:22:43 +08:00
@fulei 不能的话,那你怎么把标题所说的可执行文件弄进去呢?
fulei
2023-07-14 19:23:21 +08:00
@cnbatch PowerShell 是写 bat 脚本的吗?不引用外部的库是不是实现不了啊,我有用 pip install chardet tqdm 这两个东西
ClericPy
2023-07-14 19:23:49 +08:00
下个绿色版 python 解释器, 然后用 zipapps 或 shiv 打包个 pyz. 到机器上用解释器运行 pyz 就行了. pyz 里带了依赖和原代码包

但是如果依赖里有 .pyd/.so 之类的, 以及 C-lib 之类的, 就麻烦一些, 去 pypi.org 下载 whl 到目标机器安装
fulei
2023-07-14 19:23:57 +08:00
@ysc3839 内部系统,建工单,以附件的形式,传一个小文件。大小有限制
JensenQian
2023-07-14 19:24:03 +08:00
楼下网吧
付费开发
效率提高
岂不美哉
suarezding
2023-07-14 19:24:31 +08:00
@fulei 类似的单位,我来回答一下吧,应该是在本地 m 芯片电脑上开发了一个 python 脚本,需要在内网 x86 win10 上离线运行吧?
我个人的话,也建议代码行数不多的情况下,使用 Go 重构,参考这个代码量,应该不复杂,使用系统库能完成,功能也比较简单,Go 也很容易上手.可以在 m 芯片上交叉编译出目标电脑上的 exe 程序.
ysc3839
2023-07-14 19:24:59 +08:00
@fulei 限制多大? Python Windows 版有个嵌入式的包,也就 10MB 左右,自己打包的话未必会更小。
elechi
2023-07-14 19:25:23 +08:00
虚拟机装个 windows ,arm 版的也行;调试通过之后放到目标机上用就行
louzhichen
2023-07-14 19:25:44 +08:00
找一个大神,让他用一块磁铁直接操作硬盘,写出 python 解释器,然后你就可以用了。
liantian
2023-07-14 19:26:29 +08:00
准备工作,下载 windows embeddable 版本的 python ,3.8 以后的版本官网都有。

1. 在 mac 上,pip freeze > requirements.txt 导出依赖
2. 在 mac 上,pip download --platform win64 -r requirements 。txt 下载 windows 版本的依赖。
3. 下载 pip ,https://bootstrap.pypa.io/get-pip.py

将上述文件拷贝到 windows ,方法你随意。


解压 windows embeddable 版本的 python
修改掉 pth 文件。取消注释 import site
然后 python.exe get-pip.py 安装 pip
然后 python.exe -m pip install -r requirements 。txt --no-index --find-links D:/下载/的/依赖/的/路径

完事
cnbatch
2023-07-14 19:28:08 +08:00
既然你自己就有 Arm Windows 虚拟机,打开看一下不就知道了。
PowerShell 和 bat 是两回事。
PowerShell 除了 PS 自带命令,还可以调用 .net 类库,就是麻烦点。
bat 无法调用 .net 类库,它就是个 cmd 的脚本而已。
aisk
2023-07-14 19:34:34 +08:00
用 nuitka 编译成二进制试试
xuc
2023-07-14 19:35:07 +08:00
Mac 能联网对吧,开台云电脑(比如腾讯轻量云、阿里无影云桌面,都有新手优惠)
musi
2023-07-14 19:37:24 +08:00
@fulei #3 google 一下 python 官网,在里面找到对应的可执行文件,然后 bat 的话你问问 gpt 应该能给你生成一个完整的脚本
xuc
2023-07-14 19:39:39 +08:00
没说完,开台 Windows 系统的云电脑,然后你就可以打包成需要的 exe 文件了,打包方法相信你也已经查过了
misaka00001
2023-07-14 19:40:51 +08:00
把代码粘贴进去
https://www.codeconvert.ai/python-to-golang-converter
转换成 golang 再跨平台编译
fulei
2023-07-14 19:41:42 +08:00
@liantian 感谢 “修改掉 pth 文件。取消注释 import site“ 这个我不太理解,我网上搜了下,指的是 Windows embeddable 版本的 Python 目录中 sitecustomize.py 这个文件吧。我上班用这个方法尝试下。
fulei
2023-07-14 19:43:30 +08:00
@xuc 感谢,可以开台便宜的 linux, dd 个 windows ,开 rdp 上去吧。我没想到这个哈
fulei
2023-07-14 19:48:51 +08:00
@misaka00001 请问我在左边黏贴了 python 代码后,点击 convert button ,得到右边转换的代码,我应该怎么用?有时间的话请给我多少两句,需要下载什么,需要做什么,我去搜索学学。感谢
fulei
2023-07-14 19:51:22 +08:00
@xuc 感谢,我先试下 30 楼和 36 楼不花钱的方法。不行就 vps dd 个 Windows 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/956844

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX