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
xFrank
V2EX  ›  Python

求助 Virtualenv 的几个问题

  •  
  •   xFrank · 2018-02-11 11:43:50 +08:00 · 3405 次点击
    这是一个创建于 2476 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Linux 环境,Python2.7.x
    1,假设我是新建虚拟环境,那原来主环境中 pip 安装的三方包在虚拟环境中是不是自动可以用?
    2,假设我已经创建了虚拟环境 env1,那我在原来主环境中安装了一个新的三方包,那要如何操作,可以在 env1 中可以直接 import 这个新的包,而不需要在 env1 再次安装?
    3,假设我已经创建了虚拟环境 env1,env2,然后我在 env2 中安装了一个新的三方包,那要如何操作,可以在 env1 中可以直接 import 这个新的包,而不需要在 env1 再次安装?
    9 条回复    2018-02-13 17:41:21 +08:00
    22too
        2
    22too  
       2018-02-11 11:52:56 +08:00
    轮写好安装脚本 shell 的重要性,环境直接初始化。
    xlui
        3
    xlui  
       2018-02-11 11:56:24 +08:00 via Android
    patrickstar
        4
    patrickstar  
       2018-02-11 12:07:29 +08:00
    你应该切换到用 Pipenv 或者 pyvenv
    takeoffyoung
        5
    takeoffyoung  
       2018-02-11 13:09:04 +08:00
    @gu1yu 1. 可以通过创建的时候添加参数--system-site-packages 来使用系统的 site-packages
    @xFrank 2。3 暂时不太好实现,因为 virtualenv 的出现解决的很重要的一个问题就是,各个 repo 中 python 环境的隔离。
    而且,考虑到不同 repo 中依赖的包的版本可能是不一致的,不太推荐不同环境中包的混用。
    xFrank
        6
    xFrank  
    OP
       2018-02-11 14:07:21 +08:00
    了解了,多谢各位
    glasslion
        7
    glasslion  
       2018-02-12 14:25:31 +08:00
    要做都可以做到, 只是不建议而已

    1. 楼上有人说了, 通过 --system-site-packages 解决
    2. 3. 可以通过修改 PYTHONPATH 或 添加 .pth 文件解决

    当然这样就违反了环境隔离的初衷, 容易给今后埋坑。 我认为 2. 3. 应该完全杜绝,1. 在一些不太重要的场合 可以酌情使用, 比如安装 PyQt
    scriptB0y
        8
    scriptB0y  
       2018-02-13 14:18:16 +08:00
    1L 正解。不过 virtualenv 就是为了给多个 Python 环境隔离包来管理,重复安装没什么损失吧,优先从 cache 安装,而且体积也不是特别大的样子。
    keysaim
        9
    keysaim  
       2018-02-13 17:41:21 +08:00 via iPhone
    彼此独立的 你的依赖不应该都在 requirements.txt 里面么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   937 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:09 · PVG 05:09 · LAX 13:09 · JFK 16:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.