一、python的开发环境
目前官方提供两个大版本的下载地址(python2和python3),两个大版本在一台服务器上可以共存,且互不影响(这里要注意pip的环境变量配置要改改,否则会重复,查看pip对应的那个python版本可以执行pip -V),如果不怕麻烦的话改变下环境变量一台机器也可以实现多个版本共存。
二、python的安装
linux平台:
方法一:
使用apt-get 、 yum等方法直接安装repo中有的python版本。
* 这种方法比较简单方便,上手只需1秒。
* 版本控制不完全,所有的版本都被repo限制,而repo是和系统的版本相关,最新的Ubuntu已经自带python3.6了。
* 自动解决依赖关系。
* 自动添加环境变量
方法二:
使用编译安装的方式
* 版本控制非常好,想要什么版本编译安装什么版本
* 安装完自带pip(版本随python版本变化)
* 需要自己解决依赖关系(openssl、zlib)
windows平台:
下载msi包,双击安装,注意勾选自动添加pip和环境变量。
三、pip源设置
官方的pip源相对与国内来说有点慢,除非对网速特别有信心,或者包很小可以尝试下,如果太大,或者很多包的话不建议使用。
目前国内的pip源还是很多:
1 http://pypi.douban.com/simple/ 豆瓣 2 http://mirrors.aliyun.com/pypi/simple/ 阿里 3 http://pypi.hustunique.com/simple/ 华中理工大学 4 http://pypi.sdutlinux.org/simple/ 山东理工大学 5 http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学 6 https://pypi.tuna.tsinghua.edu.cn/simple 清华
这里吐槽下,清华的开源镜像站的版本更新不行,比较老,个人比较推荐豆瓣和阿里云的,豆瓣的版本比较新,阿里云的也还不错。
linux设置永久的pip源:
$mkdir /root/.pip $vim /root/.pip/pip.conf [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple 保存退出
windows设置永久pip源:
在下面这个路径下添加一个pip.ini文件内容同上
C:UsersAdministratorpip
如果是临时生效:
pip install -i url
四、使用python虚拟环境
优点:
- 隔离项目之间的第三方包依赖,如A项目依赖django1.2.5,B项目依赖django1.3。
- 为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻。在服务器上都不用安装virtualenv,直接将virtualenv创建的目录拷贝到服务器,修改路径,进行虚拟环境迁移就可以用了。
- 还可以用在没有root权限的python环境配置上,如果没有root权限,可以先自己搞一个virtualenv,再在virtualenv中使用pip安装。(系统中没有pip,并且也没有root权限使用sudo apt-get安装)
- 保证不同项目的安全性。
五、建立虚拟环境
1、安装虚拟的pipy包,如果计算机上有多个python只需要一个即可模拟和建立多个python虚拟环境,版本可以不同。
# pip3 -V pip 9.0.1 from /usr/local/python3.6/lib/python3.6/site-packages (python 3.4) # pip3 install virtualenv Collecting virtualenv Downloading https://pypi.doubanio.com/packages/6f/86/3dc328ee7b1a6419ebfac7896d882fba83c48e3561d22ddddf38294d3e83/virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB) 100% |████████████████████████████████| 1.8MB 11.5MB/s Installing collected packages: virtualenv Successfully installed virtualenv-15.1.0
2、查看安装好的virtualen工具
# whereis virtualenv virtualenv: /usr/local/bin/virtualenv
提示:如果安装虚拟工具的python的bin(可执行目录)没有加入环境变量安装完成后可能会无法通过系统直接查找到的需要用绝对路径。如果是windows的话可执行文件在一个叫script的目录下,linux在bin目录下。
3、新建一个虚拟环境
# mkdir /var/virtualenv # cd /var/virtualenv/ # virtualenv choosefine Using base prefix '/usr' New python executable in /var/virtualenv/choosefine/bin/python3 Also creating executable in /var/virtualenv/choosefine/bin/python Installing setuptools, pip, wheel...done.
注意:执行如上情况的话,他会把虚拟环境建立在当前所在目录下。默认使用的python版本即为我们pip -V之后查看到的版本。
4、进入我们的虚拟环境
# ls choosefine # cd choosefine/ # ls bin include lib pip-selfcheck.json # cd bin/ # ls activate activate.fish easy_install pip pip3.4 python3 python-config activate.csh activate_this.py easy_install-3.4 pip3 python python3.4 wheel # vim activate # source activate (choosefine) root@Monitor:/var/virtualenv/choosefine/bin# ls activate activate.fish easy_install pip pip3.4 python3 python-config activate.csh activate_this.py easy_install-3.4 pip3 python python3.4 wheel
注意:前面有choosefine,这个就是我们的虚拟环境名,在windows进入虚拟环境需要注意了,无法和linux一样使用source或者点,他有个bat文件执行那个bat文件即可进入虚拟环境。在虚拟环境中我们可以肆无忌惮的测试,安装软件,并不会影响我们外面的主要环境。
5、查看pip版本
(choosefine) root@Monitor:/var/virtualenv/choosefine/bin# pip -V pip 9.0.1 from /var/virtualenv/choosefine/lib/python3.4/site-packages (python 3.4)
# 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 (9.0.1) setuptools (36.6.0) wheel (0.30.0)
注意:由于我们的虚拟环境如同一个新的python,所以他的pip list肯定是为空的,需要我们重新安装。
退出虚拟环境:
(choosefine) root@Monitor:~# deactivate
6、安装一个指定版本的python虚拟环境
root@Monitor:~# cd /var/virtualenv/ root@Monitor:/var/virtualenv# ls choosefine
root@Monitor:/var/virtualenv# virtualenv -p /usr/local/python3.6/bin/python3 python3 python3.6-config python3.6m-config python3.6 python3.6m python3-config root@Monitor:/var/virtualenv# virtualenv -p /usr/local/python3.6/bin/python3 django Running virtualenv with interpreter /usr/local/python3.6/bin/python3 Using base prefix '/usr/local/python3.6' New python executable in /var/virtualenv/django/bin/python3 Also creating executable in /var/virtualenv/django/bin/python Installing setuptools, pip, wheel...done.
确认我们安装的就是python3.6
root@Monitor:/var/virtualenv# cd django/
root@Monitor:/var/virtualenv/django# ls bin include lib pip-selfcheck.json
root@Monitor:/var/virtualenv/django# cd bin/
root@Monitor:/var/virtualenv/django/bin# ls activate activate.fish easy_install pip pip3.6 python3 python-config activate.csh activate_this.py easy_install-3.6 pip3 python python3.6 wheel
root@Monitor:/var/virtualenv/django/bin# source activate (django) root@Monitor:/var/virtualenv/django/bin# pip -V pip 9.0.1 from /var/virtualenv/django/lib/python3.6/site-packages (python 3.6)
(django) root@Monitor:/var/virtualenv/django/bin# python3 -V Python 3.6.3
(django) root@Monitor:/var/virtualenv/django/bin#
六、管理虚拟环境
1、上面我们使用的是一种比较简单的管理虚拟环境的方法,我们还以用一个更简单的工具管理我们的虚拟环境。
那就是:
在安装一个包
root@Monitor:/var/virtualenv/django/bin# pip3 -V pip 9.0.1 from /usr/local/lib/python3.4/dist-packages/pip-9.0.1-py3.4.egg (python 3.4)
root@Monitor:/var/virtualenv/django/bin# pip3 install virtualenvwrapper Collecting virtualenvwrapper Downloading https://pypi.doubanio.com/packages/2b/8c/3192e10913ad945c0f0fcb17e9b2679434a28ad58ee31ce0104cba3b1154/virtualenvwrapper-4.8.2-py2.py3-none-any.whl Collecting virtualenv-clone (from virtualenvwrapper) Downloading https://pypi.doubanio.com/packages/36/66/d95f83255138ded1aec242de5ee51536226fa7b2582a7ce0863fea5dc4f2/virtualenv-clone-0.2.6.tar.gz Requirement already satisfied: virtualenv in /usr/local/lib/python3.4/dist-packages (from virtualenvwrapper) Collecting stevedore (from virtualenvwrapper) Downloading https://pypi.doubanio.com/packages/29/b0/13f8743f29a79fe3a9e232d3dcd7771adf19856ef31e157e03c9a4150765/stevedore-1.27.1-py2.py3-none-any.whl Requirement already satisfied: pbr!=2.1.0,>=2.0.0 in /usr/local/lib/python3.4/dist-packages (from stevedore->virtualenvwrapper) Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python3.4/dist-packages (from stevedore->virtualenvwrapper) Installing collected packages: virtualenv-clone, stevedore, virtualenvwrapper Running setup.py install for virtualenv-clone ... done Successfully installed stevedore-1.27.1 virtualenv-clone-0.2.6 virtualenvwrapper-4.8.2
说明:为什么需要我们的管理工具呢?
因为,如果我们新建了一个虚拟环境后,默认命令是不会加入环境变量的,如果加入了环境变量会导致我们的原有的python版本和虚拟环境错乱,无法正常使用。不实用环境变量没吃调用我们就必须到虚拟环境所在的目录然后执行activate才能进入虚拟环境。有virtualenvwrapper后,我们就可以直接在系统的任意位置进入我们的虚拟环境,首先保证virtualenvwrapper被加入环境变量了。
2、将我们的virutalenvwrapper加入环境变量
root@Monitor:~# export WORKON_HOME=/var/virtualenv/ root@Monitor:~# export PROJECT_HOME=/var/workspace
root@Monitor:~# source /usr/local/bin/virtualenvwrapper.sh
3、列表我们所有的环境变量
root@Monitor:~# workon choosefine django
进入虚拟环境:
root@Monitor:~# workon django /usr/bin/python: No module named virtualenvwrapper /usr/bin/python: No module named virtualenvwrapper (django) root@Monitor:~#
确认以下:
(django) root@Monitor:~# pip -V pip 9.0.1 from /var/virtualenv/django/lib/python3.6/site-packages (python 3.6)
七、使用图形化的方式修改我们的解释器。
这里以pychram为例吧,我觉得他比较的强大。
1、打开pychram
2、进入设置