首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
V2EX  ›  Python

求助 Virtualenv 的几个问题

  •  
  •   xFrank · 99 天前 · 1548 次点击
    这是一个创建于 99 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
        2
    22too   99 天前
    轮写好安装脚本 shell 的重要性,环境直接初始化。
        3
    xlui   99 天前 via Android
        4
    patrickstar   99 天前
    你应该切换到用 Pipenv 或者 pyvenv
        5
    takeoffyoung   99 天前
    @gu1yu 1. 可以通过创建的时候添加参数--system-site-packages 来使用系统的 site-packages
    @xFrank 2。3 暂时不太好实现,因为 virtualenv 的出现解决的很重要的一个问题就是,各个 repo 中 python 环境的隔离。
    而且,考虑到不同 repo 中依赖的包的版本可能是不一致的,不太推荐不同环境中包的混用。
        6
    xFrank   98 天前
    了解了,多谢各位
        7
    glasslion   97 天前
    要做都可以做到, 只是不建议而已

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

    当然这样就违反了环境隔离的初衷, 容易给今后埋坑。 我认为 2. 3. 应该完全杜绝,1. 在一些不太重要的场合 可以酌情使用, 比如安装 PyQt
        8
    scriptB0y   96 天前
    1L 正解。不过 virtualenv 就是为了给多个 Python 环境隔离包来管理,重复安装没什么损失吧,优先从 cache 安装,而且体积也不是特别大的样子。
        9
    keysaim   96 天前 via iPhone
    彼此独立的 你的依赖不应该都在 requirements.txt 里面么
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2608 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 16ms · UTC 05:15 · PVG 13:15 · LAX 22:15 · JFK 01:15
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1