小编给大家分享一下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 配置内容
# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
# virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/py_venv_projects
export VIRTUALENVWRAPPER_PYTHON=/Users/spring/.pyenv/shims/python
source /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_gcc
install_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_openssl
install_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本地开发环境如何搭建”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!