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

关于命令行使用 Python 虚拟环境的问题,求解答。

  •  
  •   uhayate · 2017-02-17 01:52:36 +08:00 via Android · 3705 次点击
    这是一个创建于 2840 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我对 python 虚拟环境的使用,一直停留在手动 /IDE 创建一个虚拟环境,然后用 IDE 设置好,就写代码了。
    我想知道的是,如果在命令行下用 vim ,我有个项目要用到虚拟环境,我该怎么操作,我的项目文件夹该放哪里?我先激活虚拟环境再 cd 到我的项目文件夹然后用 vim 编程么?还有就是在实际服务器上,跑多个项目,怎么做到不同项目指定不同的虚拟环境来跑?
    16 条回复    2017-02-19 02:11:20 +08:00
    sonack
        1
    sonack  
       2017-02-17 01:56:46 +08:00 via Android
    virtualenv
    hosiet
        2
    hosiet  
       2017-02-17 01:58:56 +08:00 via Android
    写程序,例如拿 vim 写程序,完全是文本编辑工作,根本用不到虚拟环境。

    测试时先激活 venv 再运行即可。

    线上?同时部署多个 venv 就行了,不同项目指定不同 venv 。完全可以使用脚本把工作自动化。具体做法 venv 的文档都写清楚了。
    rashawn
        3
    rashawn  
       2017-02-17 06:47:32 +08:00 via iPhone
    我的使用只停留在很早以前 pokemon 挂机的时候那个脚本的 readme 里面的命令 好像是 vursualenv
    expkzb
        4
    expkzb  
       2017-02-17 09:15:26 +08:00
    uhayate
        5
    uhayate  
    OP
       2017-02-17 09:46:18 +08:00 via Android
    @hosiet 谢谢。 vim 好像不能识别到虚拟环境。
    还有,如何让指定特定的虚拟环境给项目。
    uhayate
        6
    uhayate  
    OP
       2017-02-17 09:46:42 +08:00 via Android
    @expkzb 谢谢。我看看。
    zjqzxc
        7
    zjqzxc  
       2017-02-17 10:26:37 +08:00
    多个项目指定不同的版本,这时候可以推荐 docker 了?
    shalk
        8
    shalk  
       2017-02-17 13:08:29 +08:00
    pyenv-virtualenv;

    vim 有插件 jmcantrell/vim-virtualenv
    uhayate
        9
    uhayate  
    OP
       2017-02-17 15:32:18 +08:00 via Android
    @zjqzxc 额。那是部署的时候的事。我只想在本地开发而已。
    uhayate
        10
    uhayate  
    OP
       2017-02-17 15:32:30 +08:00 via Android
    @shalk ok 。我试试
    yanzixuan
        11
    yanzixuan  
       2017-02-17 16:07:00 +08:00   ❤️ 1
    先 source ~/venv/bin/active 。然后跑 python xxx.py 就行了
    对于不同环境,可以 source ~/venv_xx/bin/active && python xxx.py
    或者直接~/venv_xx/bin/python2.7 xxx.py 来执行,这个招数用在 crontab 上特别好使。
    但是现在有 docker 之后,上面技巧都不常用了。
    zjqzxc
        12
    zjqzxc  
       2017-02-17 17:58:24 +08:00
    @uhayate win 下把不同版本的 python 安装到不同目录,把 python.exe 改为 python35.exe 或 python36.exe 这种的,文件夹都加入环境变量,启动时候直接 python35/python36 即可; linux 下没试过,应该也可以用类似的方法。
    devopscode
        13
    devopscode  
       2017-02-17 19:53:55 +08:00   ❤️ 1
    virtualenv+virtualwrapper 足够啦。
    guyskk
        14
    guyskk  
       2017-02-18 20:47:20 +08:00
    新出的 pipenv 不错
    4ever911
        15
    4ever911  
       2017-02-19 00:38:16 +08:00
    我一直用 pyenv
    uhayate
        16
    uhayate  
    OP
       2017-02-19 02:11:20 +08:00
    @yanzixuan 感谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3869 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:28 · PVG 18:28 · LAX 02:28 · JFK 05:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.