一、环境准备。
pip -V执行2.7的pippip3 -V显示C:\Users\shawn>pip3 -VFatal error in launcher: Unable to create process using '"'处理: C:\Users\shawn>python3 -m pip install -U pip Collecting pip Using cached pip-8.1.2-py2.py3-none-any.whl Installing collected packages: pip Found existing installation: pip 8.1.1 Uninstalling pip-8.1.1: Successfully uninstalled pip-8.1.1 Successfully installed pip-8.1.2
二、课程资料 :
Python环境搭建windowsPython环境搭建(Windows环境下)Python下载www.python.org官网选择可执行文件( 64位3.5.2Windows x86-64 executable installer或32位3.5.2 Windows x86 executable installer)、(64位2.7.12 Windows x86-64 MSI installer或32位2.7.12 Windows x86 MSI installer)Python安装,包括Python2和Python3。如何在本地配置双版本环境。引申到工作中的生产环境该怎么处理python版本问题。推荐安装路径为C:\Python27和C:\Python35,因为如果路径有空格的话(C:\Program Files\Python35)pip可能会有问题.比如:将C:\Python35\python.exe修改为python3.exe,C:\Python35\Scripts\pip.exe改为pip3.exe,如果已经有pip3.exe,就把pip.exe删除。以后需要使用Python3的环境就在终端输入python3就行(输入python就是python2.7的环境),同理pip3就是使用python3的pip上面改好之后pip可能会出问题(终端输入>pip3 报错如下:Fatal error in launcher: Unable to create process using '"'),需要升级一下对应的pip3(终端输入>python3 -m pip install -U pip)关于pip的介绍,类似yum。以前旧版本的Python可能还要单独装pip,现在Python都是自带pip,无需单独安装pip。环境变量的设置计算机(我的电脑\此电脑)>右键>属性>高级系统设置>环境变量>系统变量 Centos7 python2和python3共存 注意事项: 1、非root帐号加上sudo 2、centos7自带Python 2.7.5是不能卸载的,很多系统级软件依赖这个 安装依赖 # yum -y groupinstall "Development tools" # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 下载python3,我的是Python-3.4.2.tgz # wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz # mkdir /usr/local/python3 # tar -zxvf Python-3.4.2.tgz # cd Python-3.4.2 # ./configure --prefix=/usr/local/python3 # make && make install # ln -s /usr/local/python3/bin/python3 /usr/bin/python3 测试 查看版本 # python3 Python 3.4.2 (default, Jul 19 2016, 03:47:32) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> 代码测试 在当前目录新建个python脚本hello.py 内容: #!/usr/bin/python3 # 第一个注释 print ("Hello, Python3!") 执行 # python3 hello.py
Hello, Python3!
三、Pycharm使用秘籍
Pycharm基本使用Pycharm的基本使用在Pycharm下为你的Python项目配置Python解释器Project:当前项目名>Project Interpreter>add Local在Pycharm下创建Python文件、Python模块File>New>Python FileFile>New>Python Package使用Pycharm安装Python第三方模块Project:当前项目名>Project Interpreter>点击右侧绿色小加号Pycharm基本设置,例如不使用tab、tab=4空格、字体、字体颜色、主题、脚本头设置、显示行号等。如何导出和导入自定义设置。不使用tab、tab=4空格:Editor>Code Style>Python字体、字体颜色:Edit>Colors & Fonts>Python关闭自动更新:Appearance & Behavior>System Settings>Updates脚本头设置:Edit>File and Code Templates>Python Script 注:其他类似显示行号:Edit>General>Appearance>Show line numbers 注:2016.2默认显示行号右侧竖线是PEP8的代码规范,提示一行不要超过120个字符导出、导入你自定义的配置: File>Export Settings、Import Settings常用快捷键,例如复制当前行、删除当前行、批量注释、缩进、查找和替换。常用快捷键的查询和配置:KeymapCtrl + D:复制当前行Ctrl + E:删除当前行Shift + Enter:快速换行Ctrl + /:快速注释(选中多行后可以批量注释)Tab:缩进当前行(选中多行后可以批量缩进)Shift + Tab:取消缩进(选中多行后可以批量取消缩进)Ctrl + F:查找Ctrl + H:替换Pycharm安装插件,例如Markdown support、数据库支持插件等。Plugins>Browse repositories(下方三个按钮中间那个)>搜索‘markdown support’>install右上角View有三个选项可选,一般我们都用中间那个左侧编写,右侧实时预览Git配置?需要本地安装好GitVersion Control>Git配置了Git等版本控制系统之后,可以很方便的diff查看文件的不用常用操作指南。例如复制文件路径、在文件管理器中打开、快速定位、查看模块结构视图、tab批量换space、TODO的使用、Debug的使用。复制文件路径:左侧文件列表右键选中的文件>Copy Path在文件管理器中打开:右键选中的文件>往下找到Show In Explorer快速定位:Ctrl + 某些内建模块之后,点击在源文件中展开查看结构:IDE左侧边栏Structure 查看当前项目的结构tab批量换space:Edit>Convert IndentsTODO的使用:# TODO 要记录的事情Debug设置断点,直接点击行号与代码之间的空白处即可设置断点(视频里忘了说)Tab页上右键>Move Right(Down),把当前Tab页移到窗口右边(下边),方便对比文件中右键>Local History能够查看文件修改前后的对比IDE右下角能看到一些有用的信息,光标当前在第几行的第几个字符、当前回车换行、当前编码类型、当前Git分支IDE右侧边栏>Database如何去掉烦人的波浪线?PEP8又是什么?单独一行的注释:#+1空格+注释内容代码后跟着的注释:2空格+#+1空格+注释内容SSH Terminal: Default encoding:UTF-8Settings>Tools>SSH Terminal>最后一行Default encoding:选择UTF-8善用搜索!善用搜索!善用搜索!遇到不懂问题,先自己搜索。这样才记得更牢!推荐使用sogou英文搜索http://english.sogou.com/
3.x无中文编码烦恼
四、pycharm使用进阶
Pycharm基本使用
1. Pycharm的基本使用1. 在Pycharm下为你的Python项目配置Python解释器1. Project:当前项目名>Project Interpreter>add Local2. 在Pycharm下创建Python文件、Python模块1. File>New>Python File2. File>New>Python Package3. 使用Pycharm安装Python第三方模块1. Project:当前项目名>Project Interpreter>点击右侧绿色小加号,如图的地方可以加载第三方的库如豆瓣、阿里的库等。
4. Pycharm基本设置,例如不使用tab、tab=4空格、字体、字体颜色、主题、脚本头设置、显示行号等。如何导出和导入自定义设置。1. 设置菜单字体大小:Appearance&Behavior>Appearance勾选Override default fonts by (not recommended)
2. 设置Console&Terminal字体大小: Editor>Colors&Fonts>Console Font3. 不使用tab、tab=4空格:Editor>Code Style>Python4. 字体、字体颜色:Edit>Colors & Fonts>Python5. 关闭自动更新:Appearance & Behavior>System Settings>Updates6. 脚本头设置:Edit>File and Code Templates>Python Script 注:其他类似7. 显示行号:Edit>General>Appearance>Show line numbers 注:2016.2默认显示行号8. 右侧竖线是PEP8的代码规范,提示一行不要超过120个字符9. 导出、导入你自定义的配置: File>Export Settings、Import Settings5. 常用快捷键,例如复制当前行、删除当前行、批量注释、缩进、查找和替换。1. 常用快捷键的查询和配置:Keymap1. Ctrl + D:复制当前行2. Ctrl + E:删除当前行3. Shift + Enter:快速换行4. Ctrl + /:快速注释(选中多行后可以批量注释)5. Tab:缩进当前行(选中多行后可以批量缩进)6. Shift + Tab:取消缩进(选中多行后可以批量取消缩进)7. Ctrl + F:查找8. Ctrl + H:替换2. 设置快捷键1. 设置修改字体大小的快捷键6. Pycharm安装插件,例如Markdown support、数据库支持插件等。1. Settings > Plugins >Browse repositories(下方三个按钮中间那个)>搜索‘ markdown support ’> install2. 右上角View有三个选项可选,一般我们都用中间那个左侧编写,右侧实时预览7. Git配置?1. 需要本地安装好Git2. Version Control>Git3. 配置了Git等版本控制系统之后,可以很方便的diff查看文件的不用4. 配置github8. 常用操作指南。例如复制文件路径、在文件管理器中打开、快速定位、查看模块结构视图、tab批量换space、TODO的使用、Debug的使用。1. 复制文件路径:左侧文件列表右键选中的文件>Copy Path2. 在文件管理器中打开:右键选中的文件>往下找到Show In Explorer3. 快速定位:Ctrl + 某些内建模块之后,点击在源文件中展开4. 查看结构:IDE左侧边栏Structure 查看当前项目的结构5. tab批量换space:Edit>Convert Indents6. TODO的使用:# TODO 要记录的事情7. Debug设置断点,直接点击行号与代码之间的空白处即可设置断点8. Tab页上右键>Move Right(Down),把当前Tab页移到窗口右边(下边),方便对比9. 文件中右键>Local History能够查看文件修改前后的对比10. IDE右下角能看到一些有用的信息,光标当前在第几行的第几个字符、当前回车换行、当前编码类型、当前Git分支11. IDE右侧边栏>Database9. 如何去掉烦人的波浪线?PEP8又是什么?1. 单独一行的注释:#+1空格+注释内容2. 代码后跟着的注释:2空格+#+1空格+注释内容10. SSH Terminal: Default encoding:UTF-81. Settings>Tools>SSH Terminal>最后一行Default encoding:选择UTF-811. Live Templates(善用live templates提高开发效率)1. Settings>Editor>Live Templates12. 善用搜索!善用搜索!善用搜索!1. 遇到不懂问题,先尝试自己解决。这样才记得更牢!2. 推荐使用sogou英文搜索 http://english.sogou.com/紫金葫芦 整理于2016-08-02,2016-12-11更新
五、其它配置(来自知乎问题(同时装了Python3和Python2,怎么用pip?)整理
官方的解法是什么?
事实上这个问题几年以前Python社区就给出了官方解决方案,只不过国内一直没有注意到罢了。
我们在安装Python3(>=3.3)时,Python的安装包实际上在系统中安装了一个启动器py.exe,默认放置在文件夹C:\Windows\下面。这个启动器允许我们指定使用Python2还是Python3来运行代码(当然前提是你已经成功安装了Python2和Python3)。
有关Python2和3的安装,可以参见Python部落()-->影音学堂-->《0基础1小时,Python入门》的第一节。
如果你有一个Python文件叫 hello.py,那么你可以这样用Python2运行它
py -2 hello.py
类似的,如果你想用Python3运行它,就这样
py -3 hello.py
去掉参数 -2/-3
每次运行都要加入参数-2/-3还是比较麻烦,所以py.exe这个启动器允许你在代码中加入说明,表明这个文件应该是由python2解释运行,还是由python3解释运行。说明的方法是在代码文件的最开始加入一行
#! python2
或者
#! python3
分别表示该代码文件使用Python2或者Python3解释运行。这样,运行的时候你的命令就可以简化为
py hello.py
使用pip
当Python2和Python3同时存在于windows上时,它们对应的pip都叫pip.exe,所以不能够直接使用 pip install 命令来安装软件包。而是要使用启动器py.exe来指定pip的版本。命令如下:
py -2 -m pip install XXXX
-2 还是表示使用 Python2,-m pip 表示运行 pip 模块,也就是运行pip命令了。如果是为Python3安装软件,那么命令类似的变成
py -3 -m pip install XXXX
#! python2 和 # coding: utf-8 哪个写在前面?
对于Python2用户还有另外一个困惑,Python2要在代码文件顶部增加一行说明,才能够在代码中使用中文。如果指明使用的Python版本也需要在文件顶部增加一行,那哪一行应该放在第一行呢?
#! python2 需要放在第一行,编码说明可以放在第二行。所以文件开头应该类似于:
#! python2# coding: utf-8
有了这些技巧,Python2和Python3就可以愉快地在一起玩耍了~
Python标准:
## 对于 Linux ##sudo pip install sth# 或者明确版本sudo pip2 install sthsudo pip3 install sth## 对于 Windows NT ### 如果仅安装 python2pip install sth# 如果安装有 python3, 则需要明确 pip 版本py -2 -m pip install sthpy -3 -m pip install sth
# 以安装 youtube-dl 举例, proxy_host:proxy_port 为代理地址
export https_proxy=proxy_host:proxy_portsudo -H pip install --upgrade youtube-dl# 或 sudo -H pip2 install --upgrade youtube-dl# 或 sudo -H pip3 install --upgrade youtube-dl
function whereip(){argument=${1:-"where"}case $argument inwhere|ip|whereip|show) curl --silent http://ip.cn 2>&1;;proxy|world|global) export HTTPS_PROXY=http://127.0.0.1:8087 export HTTP_PROXY=http://127.0.0.1:8087 export ALL_PROXY=http://127.0.0.1:8087 echo "Setup Proxy Completed." ;;noproxy|unproxy|local|china) unset HTTPS_PROXY unset HTTP_PROXY unset ALL_PROXY echo "Cancel Proxy Completed." ;;*) echo "whereip show|proxy|noproxy";;esac}
# python --version:Python 2.7.9# pip --versionpip 8.1.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
# ln -s /usr/local/python3/bin/python3 /usr/bin/python3# which python3/usr/bin/python3# ll /usr/bin/python3lrwxrwxrwx. 1 root root 30 4月 28 20:46 /usr/bin/python3 -> /usr/local/python3/bin/python3
# python3 --versionPython 3.5.1
# which pip3/usr/bin/which: no pip3 in (/usr/lib/java/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3# pip3 --versionpip 1.5.4 from /usr/local/python3/lib/python3.5/site-packages/pip-1.5.4-py3.5.egg (python 3.5)
# pythonPython 2.7.9 (default, Dec 1 2015, 14:05:26)[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import requestsTraceback (most recent call last): File " ", line 1, in ImportError: No module named requests>>>
# pythonPython 2.7.9 (default, Dec 1 2015, 14:05:26)[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import requests>>> requests.get('http://zhihu.com') >>>
# python3Python 3.5.1 (default, Apr 28 2016, 20:38:40)[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import requestsTraceback (most recent call last): File " ", line 1, in ImportError: No module named 'requests'>>>
# pip3 install requestsCollecting requests Using cached requests-2.9.1-py2.py3-none-any.whlInstalling collected packages: requestsSuccessfully installed requests-2.9.1# python3Python 3.5.1 (default, Apr 28 2016, 20:38:40)[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import requests>>> requests.get('http://zhihu.com') >>>
# pip3 install --upgrade pipDownloading/unpacking pip from https://pypi.python.org/packages/31/6a/0f19a7edef6c8e5065f4346137cc2a08e22e141942d66af2e1e72d851462/pip-8.1.1-py2.py3-none-any.whl#md5=22db7b6a517a09c29d54a76650f170eb Downloading pip-8.1.1-py2.py3-none-any.whl (1.2MB): 1.2MB downloadedInstalling collected packages: pip Found existing installation: pip 1.5.4 Uninstalling pip: Successfully uninstalled pipSuccessfully installed pipCleaning up...# pip3 --versionpip 8.1.1 from /usr/local/python3/lib/python3.5/site-packages (python 3.5)
# alias pip=/usr/local/python3/bin/pip3# pip --versionpip 8.1.1 from /usr/local/python3/lib/python3.5/site-packages (python 3.5)
# unalias pip# pip --versionpip 8.1.1 from /usr/local/lib/python2.7/site-packages (python 2.7)