V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
oldbird
V2EX  ›  Python

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

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

    但就算不能完全通用,大部分模块迁移过去没毛病,可以作为加速方案…… 但加速为什么不双向同步缓存目录呢?稳定得多……
    no1xsyzy
        5
    no1xsyzy  
       2020-09-02 10:17:23 +08:00
    如果是为了完全复现环境,建议 pip freeze > requirements.txt 或者更高级的 pip-tools,或者,虽然我没用过,DepHell 。
    如果是为了加速安装,建议同步 $(pip cache dir) 甚至将这个目录 mount 到同一 NFS 上。
    est
        6
    est  
       2020-09-02 10:31:43 +08:00
    可以的。vendor 大法好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2738 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:12 · PVG 22:12 · LAX 06:12 · JFK 09:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.