您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > Ubuntu下python环境开发
pyenv可以帮助你在一台开发机上建立多个版本的python环境,并提供方便的切换方法。virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题。首先我们可以用pyenv安装多个python版本,比如安装了2.5,2.6,3.3三个版本。用户可以随意切换当前默认的python版本。但这时候,每个版本的环境仍是唯一的,如果我们想在环境中安装一些库的话,还是会导致这个版本的环境被修改。这个时候,如果我们用virtualenv去建立虚拟环境,就可以完全保证系统路径的干净。无论你在虚拟环境中安装了什么程序,都不会影响已安装版本的系统环境。1安装pyenv(1)选择安装到$HOME/.pyenv目录(但你可以在某处安装其他)。gitclone~/.pyenv(2)配置环境变量echo'exportPYENV_ROOT=$HOME/.pyenv'~/.bash_profileecho'exportPATH=$PYENV_ROOT/bin:$PATH'~/.bash_profile(3)添加pyenv初始化到你的shellecho'eval$(pyenvinit-)'~/.bash_profile(4)重新启动你的shell使更改生效。exec$SHELLsource~/.bash_profile注:.bash_profile和.bashr别:/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运行bashshell的用户执行此文件.当bashshell被打开时,该文件被读取.~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.~/.bash_logout:当每次退出系统(退出bashshell)时,执行该文件.另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是父子关系.2查看可安装列表$pyenvinstall--list該命令将列出pyenv可以安装的列表,单单列举几个咱们关心的python和anaconda把:2.7.8#Python2最新版本3.4.1#Python3最新版本anaconda-2.4.0#支持Python2.6和2.7anaconda3-2.0.1#支持Python3.3和3.43安装python依赖包sudoapt-getinstall-ygccmakezlib1g-devbuild-essentiallibssl-devlibbz2-devlibreadline-devlibsqlite3-devwgetcurlllvmpython3-dev1).gcc,make,zlib1g-dev(压缩/解压缩库)编译安装过程需要的库。2).libbz2-devbz2支持库,若在编译安装python前没有安装,将无法通过pipinstall安装提供bz2格式的第三方库,会出现unsupportedarchiveformat:.tar.bz2的错误,例如爬虫库Scrapy依赖的Twisted。3).libsqlite3-devsqlite3支持库,若在编译安装python前没有安装,则python中会缺失sqlite3模块,当引入sqlite3或使用依赖sqllite3的第三方库(例如Scrapy)时,会出现ImportError:Nomodulnamed_sqllite3的错误。//以上为编译安装前需要安装的库,不够全面,会不断补充。4).其他:安装第三方库需要的库python3-dev,libxml2-dev,libxslt1,libffi-dev,libssl-dev等,在安装第三方库会有具体说明,不做过多解释。4安装python在线安装:$pyenvinstall3.6.5$pyenvinstallanaconda3-5.1.0离线安装:首先查看.pyenv文件夹下是否有cache文件夹,如果没有新建文件夹:cd~/.pyenv/mkdircache接下来将下载的安装包移动到到刚才建立的cache文件夹下,并进行安装:➜~mvPython-3.5.4.tar.xz~/.pyenv/cache➜~pyenvinstall3.5.45查看python版本#pyenvversions(查看所有版本)*system(setby/root/.pyenv/version)3.6.5anaconda3-5.1.0*号表示当前版本pyenvglobal3.6.5切换版本6pythonvirtualenv创建纯净虚拟环境虽然直接安装pip安装virtualenv也行,但是通过pyenv插件的形式安装virtualenv的虚拟环境更加方便,因为之后的操作会比较方便。安装插件pyenv-virtualenv参考文章:插件安装:项目主页:是pyenv的插件,为UNIX系统上的Pythonvirtualenvs提供pyenvvirtualenv命令。gitclone~/.pyenv/plugins/pyenv-virtualenvecho'eval$(pyenvvirtualenv-init-)'~/.bash_profilesource~/.bash_profile这个插件将安装在主文件夹下的.pyenv文件夹中。创建一个3.6.5的虚拟环境pyenvvirtualenv3.6.5env365再需要创建虚拟环境的文件夹下创建虚拟环境。这条命令在本机上创建了一个名为env365的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/注意,命令中的‘3.6.5’必须是一个安装前面步骤已经安装好的python版本,否则会出错。然后我们可以继续通过‘pyenvversions’命令来查看当前的虚拟环境。切换和使用新的python虚拟环境:pyenvactivateenv365这样就能切换为这个版本的虚拟环境。通过输入python查看现在版本,可以发现处于虚拟环境下了。下面基本上你就可以在这个虚拟环境里面为所欲为了:)再也不用担心系统路径被搞乱的问题了如果要切换回系统环境,运行这个命令即可pyenvdeactivate那如果要删除这个虚拟环境呢?答案简单而且粗暴,只要直接删除它所在的目录就好:rm-rf~/.pyenv/versions/env365/或者卸载:pyenvuninstallenv271virtualenv简单来说,你的每一个项目都可以拥有一个单独的、孤立的Python环境;你可以把所需的包安装到各自孤立的环境中。1还是通过pip安装virutalenv。sudopipinstallvirtualenv安装完之后,运行下面的命令,为你的项目创建孤立的Python环境。$mkdirmy_project_venv$virtualenv--distributemy_project_venv#Theoutputwillsomethinglike:Newpythonexecutableinmy_project_venv/bin/pythonInstallingdistribute.............................................done.Installingpip.....................done.那么这行代码都做了些什么呢?你创建了一个名叫my_project_venv的文件夹,用于存储新的Python环境。--distribute参数告诉virtualenv使用基于distribute包开发的新的、更好的打包系统,而不是基于setuptools的旧系统。你现在只需要知道,--distribute参数将会自动在虚拟环境中安装pip,免去了手动安装的麻烦。随着你的Python编程经验和知识增加,你会慢慢明白这个过程的具体细节。通过下面的命令,激活虚拟环境:$cdmy_project_venv$sourcebin/activate使用source命令启动activate脚本之后,你的命令行提示符应该会变成这样:(my_project_venv)$虚拟环境的名称会添加在$提示符的前面。现在运行下面的命令,关闭虚拟环境:(my_project_venv)$deactivate当你在系统层面安装virtualenv时(如果激活了虚拟环境,请先关闭),可以运行下面的命令帮助自己理解。首先,我们来看看如果我们在终端输入python或者pip,系统会使用哪个执行文件。$whichpython/usr/bin/python$whichpip/usr/local/bin/pip
本文标题:Ubuntu下python环境开发
链接地址:https://www.777doc.com/doc-5035581 .html