网站建设资讯

NEWS

网站建设资讯

Python本地开发环境如何搭建

小编给大家分享一下Python本地开发环境如何搭建,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供成都网站设计、成都网站制作、网站策划、网页设计、域名申请、虚拟空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。

一:概述


众所周知 python 开发过程中各种版本共存是比较常见的事情,所以就要求我们本地有一个可以快速创建,自由切换不同 python 版本的环境,尝试不同方案后推荐如下组合,希望可以给来帮助。

1. pyenv

主要侧重管理本地不同python版本

2. virtualenv

主要侧重于本地不同项目之间版本差异管理

3. virtualenvwrapper

从名字就可以看出是对 virtualenv 的封装,更便捷高效的使用virtualenv

二:安装


pyenv

github地址:https://github.com/pyenv/pyenv,README里有详细安装步骤

virtualenv,virtualenvwrapper

文档地址

https://virtualenvwrapper.readthedocs.io/en/latest/index.html#

这两个直接用 pip 安装即可。附上我的 .zshrc 配置内容

# pyenvexport PYENV_ROOT="$HOME/.pyenv"export PATH="$PYENV_ROOT/bin:$PATH"if command -v pyenv 1>/dev/null 2>&1; then    eval "$(pyenv init -)"fi
# virtualenvwrapperexport WORKON_HOME=$HOME/.virtualenvsexport PROJECT_HOME=$HOME/py_venv_projectsexport VIRTUALENVWRAPPER_PYTHON=/Users/spring/.pyenv/shims/pythonsource /usr/local/bin/virtualenvwrapper.sh

*注意:

由于virtualenv,virtualenvwrapper依赖于python环境,所以确保通过pyenv管理的python版本里安装了这两个包。比如通过pyenv安装了一个新的python版本,切换到这个版本后要安装这两个包。

三:出发前准备


*)pyenv访问慢的问题

pyenv安装python版本默认是从python.org下载,访问特别慢,解决方法有两种如下:

1. alibaba弄了一个镜像库地址如下:https://npm.taobao.org/mirrors/python/

下载要安装的版本到本地 .pyenv/cache 目录

λ ~/.pyenv/cache/ pwd   /Users/spring/.pyenv/cache   我电脑的目录λ ~/.pyenv/cache/ lltotal 53120-rw-r--r--  1 spring  staff    13M  6  7 17:18 Python-2.6.9.tar.gz-rwxrwxrwx@ 1 spring  staff    13M  6  7 17:13 Python-2.6.9.tgz

完后执行  pyenv  install  2.6.9 即可安装成功。

2. 修改默认地址

修改pyenv安装路径下要安装python的版本,比如下面我要装2.6.9版本

vim /usr/local/Cellar/pyenv/1.2.18/plugins/python-build/share/python-build/2.6.9
#require_gccinstall_package "openssl-1.0.2k" "https://www.openssl.org/source/old/1.0.2/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_opensslinstall_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline# 下面这行是原先的注释掉#install_package "Python-2.6.9" "https://www.python.org/ftp/python/2.6.9/Python-2.6.9.tgz#7277b1285d8a82f374ef6ebaac85b003266f7939b3f2a24a3af52f9523ac94db" ldflags_dirs standard verify_py26 ensurepip# 下面这行是新增的,可以看到地址换成一个快一点的install_package "Python-2.6.9" "https://npm.taobao.org/mirrors/python/2.6.9/Python-2.6.9.tgz#7277b1285d8a82f374ef6ebaac85b003266f7939b3f2a24a3af52f9523ac94db" ldflags_dirs standard verify_py26 ensurepip

完后执行  pyenv  install  2.6.9 即可安装成功。

*) virtualenvwrapper不用最新本地python版本创建虚拟环境问题

virtualenvwrapper默认会 “ 记住 ” python的版本,当下一次切换了python的版本后创建出来的虚拟环境还是之前的版本,设置下面环境变量即可

export VIRTUALENVWRAPPER_PYTHON=/Users/spring/.pyenv/shims/python

四:小试牛刀


1)查看本地当前python版本

λ ~/ pyenv versions  查看所有已经安装的版本  system* 2.7.16 (set by /Users/spring/.pyenv/version)  3.7.2  3.8.2λ ~/ pyenv version   查看当前的版本2.7.16 (set by /Users/spring/.pyenv/version)λ ~/ pyenv global 3.8.2   全局切换一个版本λ ~/ pyenv version   查看发现已经切换过来了3.8.2 (set by /Users/spring/.pyenv/version)

2) virtualenvwrapper

λ ~/ virtualenvwrapper    列出可用命令
λ ~/ mktmpenv   创建一个零时的虚拟环境,退出后就会删除掉created virtual environment CPython3.8.2.final.0-64 in 285ms  creator CPython3Posix(dest=/Users/spring/.virtualenvs/tmp-44fd4f4fd9f4727, clear=False, global=False)  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/Users/spring/Library/Application Support/virtualenv/seed-app-data/v1.0.1)  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivatorvirtualenvwrapper.user_scripts creating /Users/spring/.virtualenvs/tmp-44fd4f4fd9f4727/bin/predeactivatevirtualenvwrapper.user_scripts creating /Users/spring/.virtualenvs/tmp-44fd4f4fd9f4727/bin/postdeactivatevirtualenvwrapper.user_scripts creating /Users/spring/.virtualenvs/tmp-44fd4f4fd9f4727/bin/preactivatevirtualenvwrapper.user_scripts creating /Users/spring/.virtualenvs/tmp-44fd4f4fd9f4727/bin/postactivatevirtualenvwrapper.user_scripts creating /Users/spring/.virtualenvs/tmp-44fd4f4fd9f4727/bin/get_env_detailsThis is a temporary environment. It will be deleted when you run 'deactivate'.λ ~/.virtualenvs/tmp-44fd4f4fd9f4727/                                                                                                                                           这个地方标识已经在虚拟环境了    (env: tmp-44fd4f4fd9f4727)λ ~/.virtualenvs/tmp-44fd4f4fd9f4727/ python -V                                                                                                                                                               (env: tmp-44fd4f4fd9f4727)Python 3.8.2λ ~/.virtualenvs/tmp-44fd4f4fd9f4727/λ ~/.virtualenvs/tmp-44fd4f4fd9f4727/ deactivate   退出虚拟环境                                                                                                                                                             (env: tmp-44fd4f4fd9f4727)Removing temporary environment: tmp-44fd4f4fd9f4727Removing tmp-44fd4f4fd9f4727...λ ~/.virtualenvs/

我们经常会在项目里为项目创建一个单独的运行环境,如下:

mkvirtualenv -a ./ -r requirements.txt 虚拟环境名称

可以看到创建虚拟环境过程中通过 -r requirements.txt 安装项目依赖包,虚拟环境名称推荐使用和项目名称一样或者使用便于识别的名称。

*注意 :

可以通过 --python=python3.5 或者 -p 指定创建虚拟环境时候的python版本,常用于比如本地是2.7,但是要创建一个3.5的,但是又不想把本地的改了。通过该选项创建。

λ ~/Documents/secTooles/MyProject/ master* workon  查看当前在那个环境里,后面跟名称可以直接切换到指定环境                                                                                                                                                                     (env: OneForAll)MyProject

删除不用的环境

λ ~/Documents/secTooles/OneForAll/ master* rmvirtualenv MyProject

以上是“Python本地开发环境如何搭建”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


本文名称:Python本地开发环境如何搭建
文章链接:http://cdweb.net/article/jophed.html