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

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

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

5318 次点击
所在节点    Python
81 条回复
18601294989
2023-07-14 20:05:58 +08:00
chatgpt 把 python 转成 golang
dianso
2023-07-14 20:10:37 +08:00
闲鱼找人,最多 100 块钱就弄好了
fulei
2023-07-14 20:13:26 +08:00
@dianso 主要是考虑安全方面的问题,单位的密级电脑,我自己也没本事审查别人编译的
mm163
2023-07-14 21:14:33 +08:00
arm win 不是直接能运行 amd64/x86 吗?
在 arm win 下用 x86_64 版本的 Python 工具开发和打包转 exe 不就得了。
harrozze
2023-07-14 21:14:55 +08:00
@fulei #39 右边的代码 copy 出来,在你 mac 上装个 go ( https://go.dev),然后用 go 交叉编译成 x86_64 windows 的程序

`GOOS=windows GOARCH=amd64 go build -o bin/app-amd64.exe app.go`
harrozze
2023-07-14 21:15:53 +08:00
@fulei #39 golang 是静态链接,编译出来的东西会比较大。不过我也没比较过 py2exe 编译出来的大小和 go 版本有多大差距
harrozze
2023-07-14 21:17:34 +08:00
@liantian #30 感觉这个答案比较靠谱,如果你 import 的依赖包比较多的话,转成 golang 不知道能不能完全找到替代的包。
dcsuibian
2023-07-14 21:22:30 +08:00
楼主应该是想分发.exe 文件,而不是分发 python 源代码
fulei
2023-07-14 21:53:38 +08:00
@dcsuibian 分发是什么意思,我不是行业内的,太专业的我搞不懂。我有一项工作内容是从系统里导出一个压缩包,解压后是将近 2 百个 csv 文件,每个 csv 文件里有 1 万行。然后拿这些数据进行下一步。但是它文件个数太多了,鼠标点半天,我就想把那些近 200 个文件每 70 个合并成一个文件,这样我的工作量就会减少很多。
renyijiu
2023-07-14 22:08:30 +08:00
@aisk nutika 不支持交叉编译
liantian
2023-07-14 23:11:35 +08:00
@fulei 有个扩展名 pth 的文件,可以文本编辑器打开…
aptx4689
2023-07-15 00:33:40 +08:00
@fulei 你说的这些工作完全可以用 powershell 写一遍,不会的话问下 chatgpt 4.0 就好了,python 引入一堆包很麻烦的
aptx4689
2023-07-15 00:34:03 +08:00
而且 powershell 也有 mac 版本,可以供你测试
zx945
2023-07-15 00:45:09 +08:00
借一个别人的 windows 电脑安装 Python 环境,然后用 pyinstaller 打包成 exe 拷到目标电脑上,不过打包出来的 exe 最小也得 10MB 以上了,不知道所谓的只能上传小文件是有多小
zx945
2023-07-15 00:48:33 +08:00
或者换一个思路,联系公司 IT 申请在内部系统上配置好 python 环境以及自己这个脚本需要的包,这样貌似更合规一些
fox0001
2023-07-15 00:48:37 +08:00
类似的需求,我会用 go 去写。Linux 下,go 源码可以编译成对应各个主流系统平台的可执行文件。
zx945
2023-07-15 00:57:24 +08:00
ryd994
2023-07-15 04:40:13 +08:00
运维 Windows 电脑非要用 MacOS ,这不是给自己找麻烦吗?
让公司配台 Windows 电脑或者楼上说的,远程桌面
如果你非要用 MacOS ,那我尊重你的命运
95276
2023-07-15 05:20:55 +08:00
用 go 写,交叉编译是最方便的。
bef0rewind
2023-07-15 07:25:58 +08:00
建议你走涉密流程,安全无小事。

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

https://tanronggui.xyz/t/956844

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

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

© 2021 V2EX