Virtualenv 的理解和使用

2017-04-13 15:33:03 +08:00
 char1998

使用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

转载需注明出处

6359 次点击
所在节点    Python
14 条回复
netfee
2017-04-13 16:14:36 +08:00
补充一个用 virtualenv 创建 py3 虚拟环境的方法:
virtualenv -p python3 venv 。
geeklian
2017-04-13 16:33:25 +08:00
@netfee
Python3 已经内置了 venv 模块,不需要 virtualenv 啦,

python3 -m venv --help
netfee
2017-04-13 18:19:08 +08:00
@geeklian 谢谢。又学会一个方法。
only0jac
2017-04-14 08:05:43 +08:00
@geeklian 请问下,如果服务器默认是 py2.7 ,现在我装了 py3 (服务器执行 python 依然是 2.7 ),那我现在想创建一个 py3 的项目, py3 自带的虚拟环境可以满足吗?
AyoCross
2017-04-14 09:22:51 +08:00
Windows 下: scripts\activate
mapleray
2017-04-14 10:32:18 +08:00
不试试 virtualenvwrapper?
netfee
2017-04-14 12:21:25 +08:00
@only0jac 安装 virtualenv 后,使用-p 指定 py 的版本的命令
virtualenv -p python3 venv
肯定是可以的。#2 楼的方法,我还没有试,要不你试一下吧。
geeklian
2017-04-14 14:06:49 +08:00
@only0jac 可以啊
only0jac
2017-04-15 07:27:10 +08:00
@netfee 哈哈,我现在也是用这种方法,该试试新技术了
guolingbing
2017-04-17 09:46:59 +08:00
然而我还是选了 pyenv
char1998
2017-04-19 17:25:40 +08:00
@netfee 其实 python2 也能用这种方法创建
char1998
2017-04-19 17:26:22 +08:00
@guolingbing 哈哈,我还没用过 python3 尼,准确的是说没在 window 上用过
netfee
2017-04-19 22:20:54 +08:00
@char1998 Python 的最最核心的原则就是“ get job done ”。可能有一万种方法来完成一件事,但是我只需要掌握其中的一两种即可。当然,多学习是对的。
netfee
2017-04-19 22:23:15 +08:00
@char1998 对的呀,用-p 指定 Python 版本。直接不指定默认是二,当然 python2 也是可以的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/354625

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX