Virtualenv 的理解和使用 - V2EX
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
char1998
V2EX    Python

Virtualenv 的理解和使用

  •  
  •   char1998 2017 年 4 月 13 日 6836 次点击
    这是一个创建于 3211 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用virtualenv(虚拟化)进行项目管理

    virtualenv:可以创建一个单独的虚拟环境,安装私有包,而不会污染全局环境,它让你的电脑从项目目录而不是系统全局的python主目录下查找和安装包。 使用virtualenv步骤如下(已经在Linux(ubuntu)上操作过,window还未实践):

    1.虚拟环境使用第三方实用工具virtualenv创建,可以输入以下命令可以检查系统是否安装了virtualenv:

     virtualenv --version 

    如果结果显示错误,那么你就需要安装这个工具

    注意python3.3通过 venv 模块原生支持虚拟环境,命令为pyvenvpyvenv可以替代virtualenv。不过要注意,在python3.3中使用pyvenv命令创建的虚拟环境不包括pip,你需要手动安装。python3.4改进了这一缺陷,pyvenv完全可以替代virtualenv

    1. 大多数的 Linux 发行版都提供了virtualenv,例如 linux 用户可以使用下述命令安装
      sudo apt-get install python-virtualenv 或 pip install virtualenv 
      如果你的电脑是 Mac OS X 系统,就可以使用 easy_install 安装 virtualenv
      sudo easy_install virtualenv 
      如果你的 Window 系统或没有其它官方 virtualenv 的包的操作系统,那么安装过程要稍微复杂点,在浏览器中输入http://bitbucket.org/pypa/setuptools/ 回车后会进入setuptools安装程序的主页。在这个页面中华找到下载安装脚本的链接,脚本名为ez_setup.py。把这个保存到电脑的一个临时文件夹中,然后在这个文件夹中执行以下我命令:
       python ez_setup.py install easy_install virtualenv 

    注意:上述命令必须具有管理员权限的用户身份执行,在 window 系统中,请使用 以管理员身份运行选项打开命令行窗口,在基于 Unix 中,要在上面两个命令前加上 sudo,或者以根用户身份执行,一旦安装完毕virtualenv实用工具就可以从常规账号中调用

    哈哈,说了这么多,还是一直在安讲安装,接下来我们就开始讲如何操作

    1. 首先要使用virtualenv来初始化项目
     virtualenv env 

    后面的这个env 告诉 virtualenv,把所有的包都装在一个叫作env的文件夹里,这个文件夹保存的是一个全新的虚拟环境, 2. 激活virtualenv 使用前需要激活这个环境,如果你是 bash命令行(Linux 和 Mac OS X 用户),可以通过以下的命令来激活这个虚拟环境:

     source env\bin\activate 

    如果你是 window 用户,激活命令为;

     env/bin/activate 

    当虚拟环境被激活后, python 解释器的路径就被添加到了 PATH 中,但是这种环境不是永久的,它只会影响当前的命令行会话。为了提醒你已经激活了虚拟环境,激活虚拟环境的命令会修改命令行的提示符,加入环境名: (evn) $ 然后我们就可以在这个虚拟环境中愉快的装包了,不用担心会影响全局变量 3. 退出 virtualenv

    • 退出你只需要一个命令就能完成了,那就是deactivate

    转载需注明出处

    14 条回复    2017-04-19 22:23:15 +08:00
    netfee
        1
    netfee  
       2017 年 4 月 13 日 via Android
    补充一个用 virtualenv 创建 py3 虚拟环境的方法:
    virtualenv -p python3 venv 。
    geeklian
        2
    geeklian  
       2017 年 4 月 13 日
    @netfee
    Python3 已经内置了 venv 模块,不需要 virtualenv 啦,

    python3 -m venv --help
    netfee
        3
    netfee  
       2017 年 4 月 13 日 via Android
    @geeklian 谢谢。又学会一个方法。
    only0jac
        4
    only0jac  
       2017 年 4 月 14 日 via Android
    @geeklian 请问下,如果服务器默认是 py2.7 ,现在我装了 py3 (服务器执行 python 依然是 2.7 ),那我现在想创建一个 py3 的项目, py3 自带的虚拟环境可以满足吗?
    AyoCross
        5
    AyoCross  
       2017 年 4 月 14 日
    Windows 下: scripts\activate
    mapleray
        6
    mapleray  
       2017 年 4 月 14 日
    不试试 virtualenvwrapper?
    netfee
        7
    netfee  
       2017 年 4 月 14 日 via Android   1
    @only0jac 安装 virtualenv 后,使用-p 指定 py 的版本的命令
    virtualenv -p python3 venv
    肯定是可以的。#2 楼的方法,我还没有试,要不你试一下吧。
    geeklian
        8
    geeklian  
       2017 年 4 月 14 日 via Android   1
    @only0jac 可以啊
    only0jac
        9
    only0jac  
       2017 年 4 月 15 日 via Android
    @netfee 哈哈,我现在也是用这种方法,该试试新技术了
    guolingbing
        10
    guolingbing  
       2017 年 4 月 17 日 via Android
    然而我还是选了 pyenv
    char1998
        11
    char1998  
    OP
       2017 年 4 月 19 日
    @netfee 其实 python2 也能用这种方法创建
    char1998
        12
    char1998  
    OP
       2017 年 4 月 19 日
    @guolingbing 哈哈,我还没用过 python3 尼,准确的是说没在 window 上用过
    netfee
        13
    netfee  
       2017 年 4 月 19 日 via Android
    @char1998 Python 的最最核心的原则就是“ get job done ”。可能有一万种方法来完成一件事,但是我只需要掌握其中的一两种即可。当然,多学习是对的。
    netfee
        14
    netfee  
       2017 年 4 月 19 日 via Android
    @char1998 对的呀,用-p 指定 Python 版本。直接不指定默认是二,当然 python2 也是可以的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3410 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 04:57 PVG 12:57 LAX 20:57 JK 23:57
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86