九州体育网 - 十年信誉网站

  • Index

关于作者

装置第三方模块

Reads: 282202 Edit

在Python中,装置第三方模块,是通过包管理工具pip完成的。

如果你正在使用Mac或Linux,装置pip自身这个步骤就可以跳过了。

如果你正在使用Windows,请参考装置Python一节的内容,确保装置时勾选了pipAdd python.exe to Path

在命令提示符窗口下尝试运行pip,如果Windows提示未找到命令,可以重新运行装置程序添加pip

注意:Mac或Linux上有可能并存Python 3.x和Python 2.x,因此对应的pip命令是pip3

例如,我们要装置一个第三方库——Python Imaging Library,这是Python下非常强大的处理图像的工具库。不外,PIL目前只支持到Python 2.7,并且有年头没有更新了,因此,基于PIL的Pillow项目开发非常活跃,并且支持最新的Python 3。

一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要装置一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索,比方Pillow的名称叫Pillow,因此,装置Pillow的命令就是:

pip install Pillow

耐心等待下载并装置后,就可以使用Pillow了。

且慢

装置常用模块

在使用Python时,我们经常需要用到很多第三方库,例如,上面提到的Pillow,以及MySQL驱动程序,Web框架Flask,科学计算Numpy等。用pip一个一个装置费时费力,还需要考虑兼容性。我们推荐直接使用Anaconda,这是一个基于Python的数据处理和科学计算平台,它已经内置了许多非常有用的第三方库,我们装上Anaconda,就相当于把数十个第三方模块自动装置好了,非常简单易用。

可以从Anaconda官网下载GUI装置包,装置包有500~600M,所以需要耐心等待下载。网速慢的同学请移步国内镜像。下载后直接装置,Anaconda会把系统Path中的python指向自己自带的Python,并且,Anaconda装置的第三方模块会装置在Anaconda自己的路径下,不影响系统已装置的Python目录。

装置好Anaconda后,重新打开命令行窗口,输入python,可以看到Anaconda的信息:

┌────────────────────────────────────────────────────────┐
│Command Prompt - python                           - □ x │
├────────────────────────────────────────────────────────┤
│Microsoft Windows [Version 10.0.0]                      │
│(c) 2015 Microsoft Corporation. All rights reserved.    │
│                                                        │
│C:\> python                                             │
│Python 3.6.3 |Anaconda, Inc.| ... on win32              │
│Type "help", ... for more information.                  │
│>>> import numpy                                        │
│>>> _                                                   │
│                                                        │
│                                                        │
│                                                        │
└────────────────────────────────────────────────────────┘

可以尝试直接import numpy等已装置的第三方模块。

模块搜索路径

当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错:

>>> import mymodule
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mymodule

默认情况下,Python解释器会搜索当前目录、所有已装置的内置模块和第三方模块,搜索路径存放在sys模块的path变量中:

>>> import sys
>>> sys.path
['', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', ..., '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages']

如果我们要添加自己的搜索目录,有两种方法:

一是直接修改sys.path,添加要搜索的目录:

>>> import sys
>>> sys.path.append('/Users/michael/my_py_scripts')

这种方法是在运行时修改,运行结束后失效。

第二种方法是设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己自身的搜索路径不受影响。


Comments

Make a comment

  • Index

WARNING: You are using an old browser that does not support HTML5. Please choose a modern browser (Chrome / Microsoft Edge / Firefox / Sarafi) to get a good experience.