原文:https://automateboringuff.com/2e/appendix/
出版后添加:你可以通过安装带有 PIP 的
automateboringstuff
模块来安装所有需要的模块(带有本书中使用的版本)。从命令提示符或终端窗口运行pip install --user automateboringstuff
。
许多开发人员编写了他们自己的模块,将 Python 的功能扩展到了与 Python 打包在一起的标准模块库之外。安装第三方模块的主要方法是使用 Python 的 PIP 工具。该工具从 Python 软件基金会的网站pypi.python.org/
安全地下载 Python 模块并安装到您的计算机上。PyPI,或者 Python 包索引,是一种免费的 Python 模块应用商店。
PIP工具
虽然 PIP 是随 Python 3.4 和更高版本自动安装在 Windows 和 MacOS 上的,但您可能需要在 Linux 上单独安装它。您可以通过在终端窗口中运行which pip3
来查看 Linux 上是否已经安装了 PIP。如果安装了,你会看到显示的pip3
的位置。否则,不会显示任何内容。要在 Ubuntu 或 Debian Linux 上安装pip3
,打开一个新的终端窗口,键入sudo apt-get install python3-pip
。要在 Fedora Linux 上安装pip3
,请在终端窗口中输入sudo yum install python 3-pip
。您需要输入电脑的管理员密码。
PIP 工具从终端(也称为命令行)窗口运行,而不是从 Python 的交互式 Shell 运行。在 Windows 上,从“开始”菜单运行“命令提示符”程序。在 MacOS 上,从 Spotlight 运行终端。在 Ubuntu Linux 上,从 Ubuntu Dash 运行终端或者按下CTRL ALT T
如果 PIP 的文件夹没有列在PATH
环境变量中,您可能需要在运行 PIP 之前用cd
命令改变终端窗口中的目录。如果你需要知道你的用户名,在 Windows 上运行echo %USERNAME%
或者在 MacOS 和 Linux 上运行whoami
。然后运行cd
PIP 文件夹,其中 PIP 的文件夹在 Windows 上为C:Users<USERNAME>AppDataLocalProgramsPythonPython37Scripts
。在 MacOS 上是在/Library/Frameworks/python.framework/Versions/3.7/bin/
中。在 Linux 上,它在/home/<USERNAME>/local/bin/
中。然后,您将在正确的文件夹中运行 PIP 工具。
安装第三方模块
PIP 工具的可执行文件在 Windows 上称为pip
,在 MacOS 和 Linux 上称为pip3
。在命令行中,您向它传递命令install
,后跟您想要安装的模块的名称。例如,在 Windows 上,您可以输入pip install --user
模块,其中模块是模块的名称。
因为将来对这些第三方模块的更改可能是向后不兼容的,所以我建议您安装本书中使用的确切版本,如本节后面给出的。您可以在模块名称的末尾添加-U
模块==
版本来安装特定的版本。请注意,在这个命令行选项中有两个等号。例如, pip install --user -U send2trash==1.5.0
安装了 1.5.0 版本的send2trash
模块。
您可以通过从下载您的操作系统的“需求”文件,并运行以下命令之一来安装本书涵盖的所有模块:
在 Windows 上:
代码语言:javascript复制pip install --user –r automate-win-requirements.txt ––user
在 MacOS 上:
代码语言:javascript复制pip3 install --user –r automate-mac-requirements.txt --user
在 Linux 上:
代码语言:javascript复制pip3 install --user –r automate-linux-requirements.txt --user
下面的列表包含了本书中使用的第三方模块及其版本。如果您只想在计算机上安装其中的几个模块,可以分别输入这些命令。
pip install --user send2trash==1.5.0
pip install --user requests==2.21.0
pip install --user beautifulsoup4==4.7.1
pip install --user selenium==3.141.0
pip install --user openpyxl==2.6.1
pip install --user PyPDF2==1.26.0
pip install --user python-docx==0.8.10
(安装python-docx
,不是docx
)pip install --user imapclient==2.1.0
pip install --user pyzmail36==1.0.4
pip install --user twilio
pip install --user ezgmail
pip install --user ezsheets
pip install --user pillow==6.0.0
pip install --user pyobjc-framework-Quartz==5.2
(仅在 MacOS 上)pip install --user pyobjc-core==5.2
(仅在 MacOS 上)pip install --user pyobjc==5.2
(仅在 MacOS 上)pip install --user python3-xlib==0.15
(仅在 Linux 上)pip install --user pyautogui
注 对于 MacOS 用户: pyobjc 模块可能需要 20 分钟或更长时间来安装,所以如果它需要一段时间也不要惊慌。您还应该先安装 pyobjc-core 模块,这将减少整体安装时间。
安装一个模块后,您可以通过在交互式 Shell 中运行import
ModuleName 来测试它是否安装成功。如果没有显示错误消息,您可以认为模块安装成功。
如果您已经安装了该模块,但是想要将其升级到 PyPI 上可用的最新版本,请运行pip install --user -U
模块(或者在 MacOS 和 Linux 上运行pip3 install --user -U
模块)。--user
选项将模块安装在您的主目录中。这可以避免您在尝试为所有用户安装时可能遇到的潜在权限错误。
Selenium 和 OpenPyXL 模块的最新版本可能会有一些与本书中使用的版本向后不兼容的变化。另一方面,Twilio、EZGmail 和 EZSheets 模块与在线服务交互,您可能需要使用pip install --user -U
命令安装这些模块的最新版本。
警告 本书的第一版建议,如果在运行 PIP 时遇到权限错误,可以使用 sudo 命令: sudo PIP 安装模块。这是一种不好的做法,因为它会将模块安装到您的操作系统所使用的 Python 安装中。您的操作系统可能会运行 Python 脚本来执行与系统相关的任务,如果您在此 Python 安装中安装了与其现有模块冲突的模块,则可能会产生难以修复的错误。安装 Python 模块时,切勿使用 sudo 。
为Mu编辑器安装模块
Mu 编辑器有自己的 Python 环境,独立于典型的 Python 安装环境。要安装模块以便您可以在 Mu 启动的脚本中使用它们,您必须通过单击 Mu 编辑器右下角的齿轮图标来打开管理面板。在出现的窗口中,单击第三方软件包选项卡,并按照该选项卡上的说明安装模块。将模块安装到 Mu 中的能力仍然是开发中的早期特性,所以这些指令可能会改变。
如果您无法使用管理面板安装模块,您也可以打开终端窗口并运行特定于Mu编辑器的 PIP 工具。您必须使用 PIP 的--target
命令行选项来指定 Mu 的模块文件夹。在 Windows 上,这个文件夹是C:Users<USERNAME>AppDataLocalMupkgs
。在 MacOS 上,这个文件夹是/Applications/mu-editor.app/Contents/Resources/app_packages
。在 Linux 上,不需要输入一个--target
参数;正常运行pip3
命令即可。
例如,在您从下载了您的操作系统的需求文件之后,运行以下命令:
在 Windows 上:
代码语言:javascript复制pip install –r automate-win-requirements.txt --target "C:UsersUSERNAME
AppDataLocalMupkgs"
在 MacOS 上:
代码语言:javascript复制pip3 install –r automate-mac-requirements.txt --target /Applications/
mu-editor.app/Contents/Resources/app_packages
在 Linux 上:
代码语言:javascript复制pip3 install --user –r automate-linux-requirements.txt
如果您只想安装一些模块,您可以运行常规的pip
(或pip3
)命令并添加--target
参数。