1. 运行环境
python的运行环境当然是只要去官网下载对应版本安装即可,注意,我们这边只讲3.5以上的版本,因此不要下载错了!安装好后要注意环境变量的配置,具体的可以参看官方说明.
1.1. Anaconda集成环境
更好的工具是使用Anaconda集成环境,这样就可以省去很多配置环境呀,配置依赖的问题,它也可以自动将你的python环境放入系统环境变量,省去了手工配置的麻烦.国内访问Anaconda会比较坑爹,之前清华和中科大都有anaconda的源,但2019年因为授权问题几乎都停运了,目前知道的截至2019年4月30日国内可用的源几乎只剩下腾讯源了
Anaconda是一个全平台的常用于科学计算的python继承环境包.自带虚拟环境工具,python的版本管理和包管理.用它来安装python可以保证python的隔离性,并且它自带的包足够全面好用.如果嫌弃它太重,那么可以安装miniconda.依然是全平台支持,只是少了自带的包而已,腾讯提供的下载地址在https://mirrors.cloud.tencent.com/anaconda/miniconda/.
Anaconda下载好后使用bash <anaconda.sh>
(windows就是直接双击打开了)然后一路设置就好(完全可以全默认).
1.1.1. Anaconda的配置
换源
在墙内的我们最好将源添加至默认.
使用命令行设置
清华源的帮助文档上已经写清楚了如何通过命令行添加源.
conda config --add channels http://mirrors.cloud.tencent.com/anaconda/pkgs/free/ conda config --add channels http://mirrors.cloud.tencent.com/anaconda/pkgs/main/ conda config --set show_channel_urls yes
使用配置文件设置
linux,mac用户编辑
~/.condarc
,windows用户编辑C:\Users\<你的用户名>\.condarc
,输入如下内容即可.channels: - http://mirrors.cloud.tencent.com/anaconda/pkgs/free/ - http://mirrors.cloud.tencent.com/anaconda/pkgs/main/ - defaults show_channel_urls: yes
配置代理
如果已经配置了conda的国内镜像,name通常是不需要再做其他设置的.但如果一些包依然需要使用代理,那么同样可以在其配置文件
.condarc
中设置使用代理.proxy_servers: http: http://myname:[email protected]:8080 https: https://myname:[email protected]:8080
需要注意的是pip和conda都不能使用socks5代理.
1.2. 虚拟环境
我们希望项目的环境依赖是独立隔离的,每个项目间各自不会影响其他的项目,最成熟传统的做法就是使用虚拟环境了.虚拟环境可以理解为node.js中npm工具的本地安装,他会把用到的包包括python的虚拟机都放到你指定的目录下,在一个terminal进程中只要你激活了那个虚拟环境,你用到的与python相关联的东西就都是虚拟环境中的了.
python3中自带了工具pyvenv(PEP 405)来构建虚拟环境,而如果希望统一的管理虚拟环境,则Anaconda提供的虚拟环境功能可能更加合适
1.2.1. pyvenv使用方法
pyvenv <venv path>
创建虚拟环境到指定目录source <venv path>/bin/activate
使用虚拟环境,在windows下是<venv path>/bin/activate.bat
激活后会看到你的命令行每行前面多出一个
(venv)
字样,表示你在使用虚拟环境deactivate
退出虚拟环境
1.3. Anaconda虚拟环境和多版本的管理
ananconda也有虚拟环境工具,而且可以通过虚拟环境实现多版本python的管理使用,也就是说Anaconda的虚拟环境工具除了创建虚拟环境,还是python的版本控制工具.
- 创建虚拟环境
conda create -n <name> python=<python version> [collection]
输入以上命令我们就建立了一个以<name>
为名字的虚拟环境,并且代码和虚拟机都将放在<AnacondaPath>/envs/<name>
文件夹下.我们需要指定python的版本,如果想顺便把一些要用的包装了,可以在[collection]位置加上要的包.
- 激活虚拟环境
Anaconda的虚拟环境激活不需要我们记住虚拟环境创建在哪里,只要记住名字就行
在linux或者mac上使用source activate <name>
,在windows上使用activate <name>
即可,需要注意的是windows下的powershell shell
有一个bug,无法激活虚拟环境,要使用的话记得切换到cmd.
- 退出虚拟环境
在linux或者mac上使用source deactivate
,在windows上使用deactivate
就可以退出当前的虚拟环境了
- 查看有哪些虚拟环境
conda env list
- 要删除一个虚拟环境
conda remove -n <name> --all
1.4. *关于pypy
pypy是现今活下来的cpython外最好的python实现,它使用jit技术,因此比cpython快的不是一星半点.有测试pypy的io效率与node相当,而cpu密集型任务如果使用python自带的数据结构也比原生cpython快上2~3倍.现在对python3.5有个beta版本的支持,目前还不太完善.
抛开这些不说,pypy的c扩展能力很差,许多带c扩展的模块要么无法在其上使用,要么比在cpython上慢很多.因此可以关注,但并不推荐使用
1.5. *关于docker
docker有官方的python镜像,我们可以直接取来用,如何使用这个镜像创建python应用的镜像并运行可以看我的这篇文章,具体的docker怎么用,那是另一个故事了.
还没有评论,来说两句吧...