site-packages 里的文件夹可以直接拷贝到另一台电脑用吗?

2020-09-02 06:08:27 +08:00
 oldbird
两台电脑装的相同版本的 python,可以通过这种直接复制的方式安装模块吗?
4059 次点击
所在节点    Python
6 条回复
pabupa
2020-09-02 06:45:03 +08:00
大部分都可以,但是一些需要编译的( c 或者 pyd )不行。
pabupa
2020-09-02 06:46:05 +08:00
@pabupa 不过如果两台电脑系统也一样就可以。
zachlhb
2020-09-02 07:47:51 +08:00
相同系统相同架构可以
no1xsyzy
2020-09-02 10:12:25 +08:00
@pabupa 补充:系统一样指系统软件包一样,或者你能自己手动重新关联(在 /lib 和 /usr/lib 下塞需要的符号链接,一般会报告某文件找不到,你确认下你的操作系统内安装了这个,在已安装的情况下建立符号链接)。
另外,还有就是一些 .pyd(DLL) 或 .so(ELF),本身文件名会带有架构信息,如果架构不对会自动无效化,这时候就得看它是否保留源文件了,我同时见过保留源文件的( pydantic )和不保留源文件的( numpy cysystemd )

但就算不能完全通用,大部分模块迁移过去没毛病,可以作为加速方案…… 但加速为什么不双向同步缓存目录呢?稳定得多……
no1xsyzy
2020-09-02 10:17:23 +08:00
如果是为了完全复现环境,建议 pip freeze > requirements.txt 或者更高级的 pip-tools,或者,虽然我没用过,DepHell 。
如果是为了加速安装,建议同步 $(pip cache dir) 甚至将这个目录 mount 到同一 NFS 上。
est
2020-09-02 10:31:43 +08:00
可以的。vendor 大法好。

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

https://www.v2ex.com/t/703354

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

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

© 2021 V2EX