作为一个有志于成为pythoner的程序员,现在才开始使用virtualenv真是一件非常羞耻的事情。
事情是这样的,原本我将所有的东西一股脑的都安装到根目录的site-packages里面,于是每次使用pip都会提示我烦人的权限问题balabala,我一直挺着,倒也没遇过什么大麻烦,直到现在我需要两个不同版本的django才坑了爹,升级以后,原来版本的博客都不能用了。
现在只能求助virtualenv,ps:应该狂扁自己一顿,没有早点使用。
官方文档:https://virtualenv.pypa.io/en/latest/index.html
官方简介:virtualenv
可以用来创建python的隔离运行环境。关于依赖包的基本问题就是版本依赖和权限,例如,你电脑上安装了version 1 版本的LibFoo,但有一个应用需要版本2,怎样同时可以运行这两个应用呢,如果你一股脑的把所有东西都安装到/usr/lib/python2.7/site-packages
,很可能不小心升级导致原来的应用不可用。这种情况下,virtualenv可以帮助你。
pip install virtualenv
MacBook-Pro:~ bianbian$ virtualenv test_env --no-site-packages
New python executable in test_env/bin/python
Installing setuptools, pip, wheel...done.
test_env是你想要创建的环境名。
默认情况下,系统site packages
会默认安装在你的虚拟环境中,如果不想依赖于系统环境,可以用参数--no-site-packages
。
创建之后会在当前目录生成一个和你创建环境名相同的目录,如test_env
进入这个目录,可以看到
MacBook-Pro:~ bianbian$ cd test_env/
MacBook-Pro:~ bianbian$ test_env wilma$ ll
total 0
drwxr-xr-x 15 wilma staff 510 10 1 15:10 bin
drwxr-xr-x 3 wilma staff 102 9 30 16:42 include
drwxr-xr-x 3 wilma staff 102 9 30 16:42 lib
启动virtualenv
MacBook-Pro:~ bianbian$:source ./bin/activate
可以看到提示符前面多了(test_env)
MacBook-Pro:~ bianbian$ source ./bin/activate
(test_env)MacBook-Pro:~ bianbian$ test_env wilma$ ls
bin include lib
接下来就使用pip安装你想要的包了,正常运行自己的程序就好。
执行命令 deactivate
即可退出
删除虚拟环境,只需要删除我们生成的那个文件夹即可.
rm -r test_env/