Ubuntu1604下使用virtualenv工具搭建python2,3开发环境
参考文档:网上的《传志播客Python安装教程参考文档》,根据自己实际安装过程进行相应的添加修改,感谢分享。搭建环境是其次,重要的是理解命令的使用,这样才能举一反三
ubuntu16.04自带python的环境,不用进行python环境安装。但是默认安装的版本是Python2,想在其上做python3的开发会出现问题,比如使用pip安装软件包时,默认安装的时python2的包。想要安装python3的包就需要用到virtualenv工具,创建独立的python的环境,解决python2和python3两个环境之间的干扰问题。
virtualenv工具安装以及Python虚拟环境创建
1.安装并升级python包管理工具pip
# 安装pip
sudo apt-get install python-pip
# 更新pip
pip install --upgrade pip
2.virtualenv工具安装
安装virtualenv和virtualenvwrapper(更便于虚拟环境的集中管理)
sudo apt-get install python-virtualenv
sudo easy_install virtualenvwrapper
上述工具装好后找不到mkvirtualenv命令,需要执行以下环境变量设置
# 创建目录用来存放虚拟环境
mkdir $HOME/.virtualenvs
# 在~/.bashrc中添加行:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
# 运行:
source ~/.bashrc
3.virtualenvwrapper基本使用
- 创建虚拟环境
mkvirtualenv [虚拟环境名称]
- 查看当前的虚拟环境目录
workon
- 切换虚拟环境
workon [虚拟环境名称]
- 退出虚拟环境
deactivate
- 删除(慎用)
rmvirtualenv [虚拟环境名称]
python 2版本开发
创建python2的虚拟开发环境
mkvirtualenv -p /usr/bin/python2.7 py2
使用python2.7+django1.7.8环境,你应该安装如下环境:
(py2)python@ubuntu:~$ pip freeze list
pip==9.0.1
Django==1.7.8
ipdb==0.8.1
ipython==3.2.0
Pillow==2.8.2
把以上包名存储到package_py2.txt,在你的python虚拟环境中,运行:
pip install -r package_py2.txt
安装完成后可以使用pip freeze list
查看;有些安装并不是最新版本,使用pip list --outdated
检查哪些包需要更新,然后使用pip install --upgrade [安装包名称]
选择更新
其实:这样做也没有比较方便,因为最后还是要更新,所以可以选择直接安装,系统会自动选择最新版本,当然也不是越新越好,根据具体需要选择吧:
pip install [安装包名称]
python 3版本开发
创建python3的虚拟开发环境
mkvirtualenv -p /usr/bin/python3.5 py3
使用python3.5+django1.9.4环境,你应该安装如下环境:
(py3)python@ubuntu:~$ pip freeze list
pip==9.0.1
Django==1.9.4
ipdb==0.8.1
ipython==4.1.2
Pillow==2.8.2
把以上包名存储到package_py3.txt,在你的python虚拟环境中,运行:
pip install -r package_py3.txt
注意:安装上述环境到安装到Pillow
时会出现failed building wheel for ...
错误,解决办法,使用常规安装命令进行安装:
pip install Pillow
遇到的问题
问题1:使用pip list
会有提示:
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning
告诉你以后pip list
的默认格式会采用columns。可以不用管,但还是很烦,解决如下:
在~/pip/pip.conf配置文件中(没有就自己创建)加入下面的语句,避免这类警告:
[list]
format=columns
附:pip命令速查
- | - |
---|---|
查看已安装的包 | pip show –files SomePackage |
检查哪些包需要更新 | pip list –outdated |
升级包 | pip install –upgrade SomePackage |
卸载包 | pip uninstall SomePackage |
参数解释 | pip –help |