更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

Python开发环境准备搭建教程

  • 发布:Python培训
  • 来源:练习题库
  • 时间:2017-08-10 14:24

Python开发环境准备

Python优缺点

缺点

全局解释器锁

CPU计算密集型任务

对于IO密集型任务

性能问题(执行效率)

开发效率远远弥补了执行效率

现在的服务器资源充足

需要效率的地方用c/c++实现,用Python去调用,扬长避短

优点

基础运维、日常工作自动化

Python自动安装MySQL

测试数据库性能、压测

请求量、优化参数等等

运维系统、监控系统

saltstack、ansible二次开发等

提高身价

如何快速学习Python

跟着小白走,不会掉在沟。(有点吹牛逼)

Python技术等级划分

初级

中级

高级

资深

专家

Python进阶闯关

基础知识:学习理论+练习 (初级)

进阶(分层次地学习) (中级)

函数式编程

推导式

lambda

map、filter、reduce

异常

闭包

装饰器

生成器

通过项目实践 (高级)

通过Django、Tornado、flask编写web服务

推荐的书籍

基础

Python开发技术详解

http://python.usyiyi.cn/

python中文手册

Dive into Python

注重编程规范

编程规范

改善Python代码91个建议

进阶

中文版:https://eastlakeside.gitbooks.io/interpy-zh/content/

英文版:http://book.pythontips.com/en/latest/

制定一个计划

每周固定时间去学习Python

例如,基础知识分配3个月,高级特性2个月

工作中能用到Python的地方尽量去使用

这是今天的新内容,本文档以Python3.5.2版本进行演示。

virtualenv

使用虚拟环境的最大好处就是不会对系统中的Python造成影响。

# 安装virtualenvpip install virtualenv# 创建一个名为py2_env的虚拟环境virtualenv py2_env# 指定Python版本创建一个名为py3_env的虚拟环境virtualenv -p /usr/local/bin/python3 py3_env# 激活虚拟环境cd py3_envsource bin/active# 禁用虚拟环境deactivate

pyenv

https://github.com/yyuu/pyenv-installer

https://github.com/yyuu/pyenv

首先,确保系统有git,

# yum install git$ curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

设置环境变量,可以添加到个人家目录的.bashrc或.bash_profile及系统的全局的/etc/profile,

# Load pyenv automatically by adding# the following to ~/.bash_profile:export PATH="/home/lavenliu/.pyenv/bin:$PATH"eval "$(pyenv init -)"eval "$(pyenv virtualenv-init -)"

安装一个3.5.2的版本,

pyenv install 3.5.2# 如果下载速度慢的话,# 可以事先下载之,放到~/.pyenv/cache目录即可,# 安装包应为.tar.gz格式的压缩包# 需要修改~/.pyenv/plugins/python-build/share/python-build/3.5.2### 查看可以安装的版本pyenv install --list

如果没有我们要安装的版本,可以更新pyenv,

pyenv update

如果使用pyenv手工安装Python,在使用pyenv安装Python时,需要安装Python

的依赖包,不然在执行“pyenv install 3.5.2”时会报错,

yum install -y gcc make patch gdbm-devel openssl-devel \

sqlite-devel zlib-devel bzip2-devel readline-devel

生产环境不需要多版本,一般在开发环境下才需要多环境。

切换到3.5.2版本,

pyenv local 3.5.2# 会在家目录生成一个.python-version的文件,其内容包括3.5.2# 可以查看当前Python的版本pyenv version

python -V# 永远不要执行pyenv global(有可能你要重装系统了)# local命令切换当前目录及其子目录的Python版本,可以通过删除# .python-version恢复默认Python版本

pyenv的强大之处是,针对目录可以设置版本。子目录会继承父目录的版本。pyenv是如何做到的呢?其实,它是依赖于一个隐藏文件.python-version,我们可以看一下它的内容:

[lavenliu@myhost ~]$ python -V

Python 3.5.2[lavenliu@myhost ~]$ cd /usr/local/src/

[lavenliu@myhost src]$ python -V

Python 2.6.6[lavenliu@myhost ~]$ cat .python-version

3.5.2

由于在lavenliu的家目录下有.python-version这个文件,而在/usr/local/src目录下面没有此文件。

pyenv通过插件,可以很好的和virtualenv一起工作,通过整合virtualenv,pyenv实现了真正意义上的环境隔离,每个项目都相当于使用一个单独的解释器。

通过pyenv-installer安装的pyenv,已经安装好virtualenv插件了,如果不是通过pyenv-installer安装的pyenv,我们需要自己安装virtualenv插件,安装方法很简单:

cd $PYENV_ROOT/plugins # 默认是在~/.pyenv/pluginsgit clone https://github.com/yyuu/pyenv-virtualenv.git

直接把插件clone下来就完成了安装。

安装完成之后,我们就可以通过virtualenv命令即可创建虚拟环境,virtualenv的一般用法如下:

pyenv virtualenv [-f|--force] [-u|--upgrade] [VIRTUALENV_OPTIONS] <version> <virtualenv-name>

选项-f表示强制的,也就是如果已经存在这个虚拟环境,那么将会覆盖这个虚拟环境 选项-u表示upgrade,用于修改已经存在的虚拟环境的Python版本VIRTUALENV_OPTIONS 是传递给virtualenv的选项,可以通过virtualenv的帮助获取选项的含义 version 表示Python版本 virtualenv-name 是我们给虚拟环境指定的名字,如:

pyenv virtualenv 2.7.5 my_project

以上命令就创建了一个基于Python-2.7.5,名为my_project的虚拟环境。创建好的虚拟环境犹如一个单独Python版本一样,我们可以通过local或者global命令切换过去。

[lavenliu@VM_113_230_centos ~]$ pyenv versions

system 2.7.5

2.7.5/envs/my_project

* 3.5.2 (set by /home/lavenliu/.python-version)

my_project

[lavenliu@VM_113_230_centos ~]$ pyenv local my_project

(my_project) [lavenliu@VM_113_230_centos ~]$

(my_project) [lavenliu@VM_113_230_centos ~]$ python -V

Python 2.7.5

由于每个解释器间完全是隔离的,所以强烈建议我们的每个项目,都放置在单独的虚拟环境中。virtualenv插件还提供了virtualenvs命令,用于列出所有已创建的虚拟环境:

(my_project) [lavenliu@VM_113_230_centos ~]$ pyenv virtualenvs 2.7.5/envs/my_project (created from /home/lavenliu/.pyenv/versions/2.7.5)

* my_project (created from /home/lavenliu/.pyenv/versions/2.7.5)

当我们的一个项目生命周期结束的时候,我们或许会想要删除虚拟环境以释放我们的硬盘空间,删除虚拟环境非常简单,直接用uninstall命令像删除正常的Python版本一样就可以了。

[lavenliu@myhost ~]$ pyenv uninstall lavenliu

pyenv-virtualenv: remove /home/lavenliu/.pyenv/versions/3.5.2/envs/lavenliu? y

事实上,虚拟环境一旦创建,你就可以把他当成一个独立的版本来使用和维护了。

ipython

pip install ipython

ipython是非常好用的Python交互式控制台程序。比Python自带的要好用的多。

bpython

看名字就可以知道这是“为装逼而生”、“为发烧而生”。因为够逼格,所以,前面冠以字母’b’,不知道作者是不是这个意思。反正,我觉得有这么个意思。

安装起来很简单:

pip install bpython

使用起来更是简单:

notebook

ipython notebook目前已经成为用Python做教学、计算、科研的一个重要工具了。安装及使用也是挺简单的。

pip install jupyter

jupyter notebook --help

jupyter notebook --ip=192.168.20.134# brower192.168.20.134:8888/tree# Press Alt+Enter 执行

jupyter notebook的简单使用方法,

执行代码时,按组合键Alt+Enter

执行MarkDown时,按组合键Shift+Enter

在Windows上安装notebook,Linux是同样的步骤,

pip install ipython

pip install notebookcd /d f:\dev\python

jupyter -h

jupyter notebook

jupyter notebook --ip=0.0.0.0 --no-browser

如果在非Windows机器上,注意iptables要关闭或要放行8888端口。

jupyter的使用与vim类似,也有编辑模式与命令模式。使用ESC切换编辑模式与命令模式。

emacs

在CentOS6.x或CentOS7.x上搭建Emacs编辑器,并使用elpy扩展。

yum install -y python-devel openssl-devel libffi-devel

pip install rope==0.9.4pip install jedi==0.9.0pip install flake8

pip install importmagic==0.1.6pip install autopep8==1.2.2pip install yapf==0.6.3pip install virtualenv==15.0.1

elpy的配置:

M-x elpy-config RET

IDE

最常用的IDE就是Eclipse、PyCharm及IDEA。建议购买正版的。小白同学用的是Emacs编辑器,买不起正版软件,只能用开源的编辑器咯。不建议使用盗版,毕竟开发软件的公司也是要生存的。

国内pip源设置

由于网络原因,导致国内用户从国外pip仓库下载软件包极其缓慢,不及龟速,甚至超时!真是令人发指,怒发冲冠,愤愤然却又无可奈何耶。不过我们可以使用国内pip源来解决这一问题:

阿里云pip源

如果没有.pip目录就先创建

mkdir ~/.pip

cat <<EOF >> ~/.pip/pip.conf

[global]

index-url = http://mirrors.aliyun.com/pypi/simple/

trusted-host = mirrors.aliyun.com

EOF

豆瓣pip源

wget https://bootstrap.pypa.io/ez_setup.py -O - | python

vim ~/.pip/pip.conf

[global]

index-url=http://pypi.douban.com/simple/

这样设置完毕之后,安装速度会有很大的提升,也可以说是飞一般的感觉。

总结

环境搭建完毕,接下来就该进入正题,真正的进入Python学习之旅了。小白还请大家坐稳扶好,前方好玩的东西多多,稍不留神,有可能就会走火入魔的。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:初学者学习Python整体学习规划与建议
下一篇:只需十四步:从零开始掌握 Python 机器学习

Python编程练习题二

Python编程练习题一

Python实现降雪效果

Python中dir()、help()的使用

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省