Python开发环境入门配置
说起python的开发环境配置,无非是"解释器(Interpreter)+编辑器“的选择。对于新手来说,个人推荐Anaconda的发行版+PyCharmIDE的模式,这样比较易于开发和学习,下面首先介绍下如今较为流行几种Python衍生版本和几个编辑器(或IDE)
写在前面
本人对于本文涉及内容的理解难免出现瑕疵甚至于错误,所以我把文章中所有出现的以及其他一些重要的链接都放在了文末,建议大家阅读文档中的内容,这样有关理解也会更为深入透彻
简介
1. Python解释器的选择
从1991年Python的首次发行到如今,各种衍生的Python解释器也在不断发展,下面是一些在Python社区最为流行的解释器:
-
Python 官方解释器,底层由C编写而成,值得注意的一点是,其有
3.x
与2.x
的差别,而3.x
版本是不向后兼容的,这里推荐大家使用3.x
版本,了解其中的区别来戳:https://docs.python.org/release/3.0.1/whatsnew/3.0.html - CPython是用C语言实现的Python解释器,官网上对其介绍如下
Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself.
Cython是Python编程语言和扩展的Cython编程语言(基于Pyrex)的优化静态编译器。 它使为Python编写C扩展就像Python本身一样简单。
- IPython:IPython比一般的Python更具交互性,它的设计侧重于在交互语言和软件开发两方面将生产力最大化。Ipython与JupyterNotebook相辅相成,Jupyter项目旨在设计一个适用于更多语言的交互式计算工具。
IPython命令行和Jupyter Notebook对于数据探索和可视化非常有用
—《Python for Data Analysis: Data Wrangling with Pandas, Numpy, and IPython》
2. Python 编辑器或IDE的选择
Python的编辑器如今并不成问题,许多还可以通过装插件的方式使之发挥IDE的作用,下面是几个我个人认为最流行的编辑器(IDE)
-
VS code优点:读写速度快,可扩展性强;
缺点: 原生支持语法高亮较少
-
PyCharm优点: 功能强大;
缺点: 占空间较大,有时内存占用量也比较高
-
Sublime Text优点: 轻便,插件功能性好;
缺点: 定制化一般
安装配置
这里以Windows下Anaconda的发行版+PyCharmIDE的安装为例,其过程是相当简单的,但其中仍有值得注意的点:
-
环境变量
-
PATH
:Python解释器的路径要放在PATH
中才能之后在命令行中执行,我们可以通过在命令行中键入python
(或python3
)命令来检查是否加入了PATH
中,如果不在PATH
中会有报错'python' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
(WindowsDOS
界面下) -
PYTHONPATH
:它的功能是引导模块的导入,通常我们将Python根目录下的DLLs
目录放在其下面,我们知道DLLs
目录下存放着大量的.pyd
文件,(也就是Python下的.dll
文件),如果缺失python解释器就会如下的抛出异常
ImportError: DLL Load failed
当然,如果PYTHONPATH
如果没有正确地被设置,上述异常也有可能出现
说了这么多,到底如何正确地设置python的环境变量呢?我们打开Anaconda
的安装目录
这里我们主要关注DLLs
和Scripts
两个目录,它们目录下分别是大量内建的.pyd
文件, 和一些与Python相关cml程序如pip
,它们分别需要加入PYTHONPATH
和PATH
环境变量(更多环境变量).
最后,为了检查环境变量是否正常被设置,可以在Python交互行中输入:
>>>import sys
... print('\n'.join(sys.path))
...(略) # Check all the path include
>>>'...\DLLs' in sys.path and '...\Scripts' in sys.path
True # yes, the PYTHONPATH and PATH variables are setted correctly
-
PyCharm轻松使用
在PyCharm中,有许多工作能够自动进行,例如PyCharm可以自动填补上述环境变量,并且会建立PyCharm专有的环境变量PYCHARM
以方便内部功能的实现,但需要注意,在querying skeleton
的过程中设置不总是正确的,出现问题后需要手动排查
下面就以创建一个项目为例说明如何更正确,更高效的使用PyCharm
-
第一步,建立项目目录,例如我们选择
.../project/FirstProject
作为我们项目的根目录 -
第二步,选择PYthon解释器,在
File > Setting > Project
中选择Project Interprepter
,
interpreter.png
由于我们安装了Anaconda,在选择Interprepter过程时选择Conda env
,如果我们更倾向于为此项目单独创建一个虚拟环境,可以选择New Enviroment
来创建一个新环境 -
第三步,排查问题,假设我们遇到了
Error: DLL load failed
,就可以尝试进行1中的操作.
此外可能出现的常见问题还有下面这些:- 连接
Python console
失败: https://stackoverflow.com/questions/53103360/pycharm-not-connecting-to-python-3-console -
ssl
模块异常: https://stackoverflow.com/questions/49094768/ssl-module-in-python-is-not-available -
package tools
无法找到: https://stackoverflow.com/questions/43567996/pycharm-python-packaging-tools-not-found?r=SearchResults&s=2|74.3786 - ...
- 连接
参考链接:
- Python官网:https://www.python.org/
- Python 3.x 与 Python 2.x 的不同: https://docs.python.org/release/3.0.1/whatsnew/3.0.html
- Python文档主页: https://docs.python.org/
- Python模块分发平台pypi: https://pypi.org/
- Python 语言维基: https://en.wikipedia.org/wiki/Python_(programming_language)
- github上Python topic:https://github.com/topics/python
- Python环境变量一览: https://docs.python.org/2/using/cmdline.html#envvar-PYTHONHOME
- Python文件格式不同之处:https://stackoverflow.com/questions/8822335/what-do-the-python-file-extensions-pyc-pyd-pyo-stand-for
- Python维基: https://zh.wikipedia.org/wiki/python
- Cpython官网: https://cython.org/
- Cpython github主页: https://github.com/cython
- Cpython维基: https://en.wikipedia.org/wiki/CPython
- Ipython官网: https://ipython.org/
- Ipython github主页: https://github.com/ipython/ipython
- Jpython官网: https://www.jython.org/
- Jpython维基: https://zh.wikipedia.org/wiki/Jython
- Jpython文档: https://wiki.python.org/jython/UserGuide
- Jpython github主页: https://github.com/xia-st/JPython
- Jupyter官网: https://jupyter.org
- Jupyter github主页: https://github.com/jupyter
- Python(x,y): https://python-xy.github.io/
- PyCharm官网: https://www.jetbrains.com/pycharm/
- PYTHONPATH变量设置: https://stackoverflow.com/questions/19917492/how-to-use-pythonpath
- Oreilly: https://www.oreilly.com/
首次修改于2019/3/5
继续完善中