美文网首页
《Python搭车客指南》阅读笔记-环境篇

《Python搭车客指南》阅读笔记-环境篇

作者: 零一学堂 | 来源:发表于2018-07-14 22:52 被阅读22次

requests是Python社区一个非常知名的http请求库,我最近也在使用他完成了一个很简陋的代理IP请求,做一些事情。它的作者叫Kenneth Reitz,一个非常知名的Python程序员,以前是个胖子,减肥后变得非常帅,感觉非常非常励志。

这位Python大神写了一个关于Python的文档叫《The Hitchhiker’s Guide to Python!》,中文名字如题所示,Python搭车客指南,如果大家熟悉一本书叫《银河系搭车客指南》的话,一定会对这个名字会心一笑。

最近个人在系统的学习Python,由于之前的工作原因,自身积累的都是一些零散的知识,比如写个几百行的脚本跑跑数据,写个几个页面的网站之类的。知识无法形成体系,能写出Python代码,不能够做大规模的Python工程,知识总是停留在皮毛阶段。

开始准备系统学习Python的时候,发现没有什么特别好用的教程,国人写的教程简直不能看,百度上面的博客老旧到令人发指。找来找去发现了这个教程,如获至宝。我接下来可能要花几周的时间去读完这个在线教程,阅读笔记将以博客的形式展示出来。我不会翻译所有内容,仅仅是读自己需要的东西,然后记录成笔记,还是建议英文好的同学自行读英文。

在Mac OS上安装Python3

最近的Mac OS X High Sierra上面系统默认的Python版本还是2.7,现在社区都已经全面转向Python3了,所以在Mac上安装Python3是很有必要的。

安装Python3的前置条件:

首先,要安装XCode,直接在Mac App Store上面下载。

其次,安装完成XCode之后,就要安装Command Line Tools或者安装OSX-GCC-Installer这个环境,不过个人推荐Command Line Tools,打开终端,输入命令xcode-select --install即可安装,如下图:

image

终端是iTerm2 + Oh My Zsh

然后,安装Homebrew,见官方文档。 Homebrew安装完成之后,在~/.profile里面添加路径(不是很了解Linux/Unix环境变量的同学可以网上搜索一下教程),添加路径: export PATH=/usr/local/bin:/usr/local/sbin:$PATH,然后在终端输入source ~/.profile。这样就可以使用Homebrew的命令行命令了。

输入brew install python,漫长等待后,安装完成。

输入pip -v,得到如下输出:

image

可以看到pip是关联Python3.7。

Pipenv & Virual Environments

Pipenv安装与使用

Python的virtual environments是帮助我们实现Python开发环境的隔离,原因是做开发的时候,基本不可能现在一套环境就能适应全部的项目,很大的可能是一个项目需要Django1.0,而最新的Django版本是1.8,所以我们需要Pipenv和Virual Environments来建立隔离开发项目。

首先需要安装Pipenv, Pipenv是Python工程的一个依赖管理工具,如果你对Node.js的npm或者Ruby的bundler很熟悉的话,就可以很好的理解这个工具。

pip install --user pipenv

安装完成后,在相应的Python工程文件夹里面安装需要的包,例如打开终端,创建一个myproject目录,终端进入目录,输入pipenv install requests。此命令行运行完成后,myprojects文件夹里面有两个文件,如下图:

image

Pipfile的作用是跟踪管理你的项目依赖的包,加入你想把你的项目分享给其他的人的时候,别人可以通过Pipfile安装依赖的包。

前面我们已经在myproject文件夹下面安装了requests,下面来介绍一下如何使用刚刚安装的requests库。验证方式很简单,写三行代码即可。

import requests
response = requests.get('https://httpbin.org/ip')
print('Your IP is {0}'.format(response.json()['origin']))

运行 pipenv run python main.py

结果如下:

image

使用pipenv run python main.py这个命令去运行main.py,是为了保证刚才使用pipenv安装的包可以被main.py使用。如果你觉得这个命令行太长,你可以先使用pipenv shell进入pipenv的shell环境,再使用python main.py运行脚本,得到的效果是一样的。

到这里为止,你已经可以很愉快的使用Pipenv安装Python的包了,如果还想了解的更加深入一些,请继续往下看。

Virtualenv的安装与使用

virtualenv可以创建一个完全独立的Python开发环境,通过virtualenv创建一个具有Python运行环境且包含相应的依赖文件的独立运行环境。Virtualenv可以单独使用,可以和Pipenv共存。

安装 pip install virtualenv

安装完成后,输入virtualenv --version,得到如下图所示的virtualenv版本信息:

image

为我们的项目创建一个virtual environment运行环境,按照下面的步骤所示:

创建项目文件夹 mkdir my_project_folder

进入项目文件夹 cd my_project_folder

使用virtualenv创建项目 virtualenv my_project

等待运行完成之后,进入my_project目录,可以看到如下目录:

image

执行source ./bin/activate,即可进入独立的Python环境,可以在此环境下面安装相关的Python库。

执行deactivate,离开这个独立的Python环境。

执行pip freeze > requirements.txt,就可以把工程的相关的库信息保存在文本文件里面。工程发送给相关的开发者,开发者可以依据requirements.txt文件执行pip install -r requirements.txt来安装相关的库。

virtualenvwrapper使用

virtualenvwrapper是基于virtualenv的封装,提供了比virtualenv更好友好的命令行方式去使用virtualenv。这个工具亦可以和virtualenv共同存在,不会有什么冲突。题外话,个人比较喜欢virtualenv,主要是virtualenv更加直观和具体。

执行 pip install virtualenvwrapper进行安装。

执行 export WORKON_HOME=~/Envs

执行 source /usr/local/bin/virtualenvwrapper.sh

即可使用virtualenvwrapper,如果按照以上的步骤去做,在Mac OS High Sierra上面是无法成功。这是由于Mac OS里面的Python环境还是Python2.7会对virtualenvwrapper产生一些问题,解决按照这个链接

安装完成之后,就可以使用virtualenvwrapper。

执行 mkvirtualenv my_project 创建运行环境。

执行 workon my_project 进入创建的运行环境。

执行 deactivate 离开运行环境。

执行 rmvirtualenv my_project 删除运行环境。

其他命令行大家自行研究。

virtualenv-burrito

virtualenv-burrito是一个封装virtualenv + virtualenvwrapper的单命令行工具。

autoenv

autoenv这个工具可以帮助我们进入包含.env的virtualenv运行环境的文件夹,自动激活当前环境。

Mac OS X的安装方式:

brew install autoenv

相关文章

  • 《Python搭车客指南》阅读笔记-环境篇

    requests是Python社区一个非常知名的http请求库,我最近也在使用他完成了一个很简陋的代理IP请求,做...

  • Python入门指南学习笔记-1-sys.argv

    上一篇Python-tutorial (Python入门指南)[学习笔记](http://www.jianshu....

  • Mark一下

    银河系搭车客指南,这是一本很神奇的书

  • Python Cli 编写指南

    Python Cli 编写指南 python实现cli 环境: python 3.8 库 python自带argp...

  • 《银河系搭车客指南》

    每当你觉得人生不可能更糟糕的时候,它忽然就又会给你点儿颜色看看。

  • 银河系搭车客指南

    2017年的到来,时间变得捉襟见肘。 大多数的时候我们的焦虑来源于两方面:一是时间,二是同龄人。 这两天学校选课,...

  • 《银河系搭车客指南》

    这本小说,很早之前(说不定有十年之久)我的妻子看过。她看的,我记得是英文原版。 我依稀记得,她跟我说写的很好,建议...

  • 银河系搭车客指南

    银河系搭车客指南 道格拉斯·亚当斯 第1章 >> 最常让他烦心的事情是人们总要问他到底为啥一脸烦心的样子。 >> ...

  • 搭车客

    一三年冬,某夜,亲友开车去河北易县办事,路遇一人想搭顺风车,亲友看他面貌忠厚,穿绿大衣十分清贫,便动了恻隐之心...

  • 阅读日记(24)——《撒哈拉的故事》第15-16章

    今天阅读了《撒哈拉的故事》第15-16章,阅读了《搭车客》《哑奴》2篇《哭泣的骆驼》一部分,P182-228,共4...

网友评论

      本文标题:《Python搭车客指南》阅读笔记-环境篇

      本文链接:https://www.haomeiwen.com/subject/fsdupftx.html