返回介绍

D.8 学习我们的新环境(Windows、Mac、Linux)

发布于 2024-01-27 21:43:10 字数 2567 浏览 0 评论 0 收藏 0

这里展示的例子是面向 Mac 的,但是过程与 Windows 和 Linux 上是相同的。在这一节中,我们会学习一些关于如何使用设置并确保所有的组件一起工作的知识。

让我们通过创建一个名为 testprojects 的新环境开始。我们会在任何需要一个快速的环境来练习测试或做其他事情时,激活并使用它。运行下面的命令来创建它:

$ mkvirtualenv testprojects

创建环境后,你会看到控制台提示的前面添加了环境名称。对我来说,像下面这样:

(testprojects)Jacquelines-MacBook-Pro:~ jacquelinekazil$

让我们安装一个 Python 库到环境中。我们会安装的第一个库称为 ipython。在你的激活环境中,运行下面的命令:

(testprojects) $ pip install ipython

如果这个命令是成功的,那么你输出的最后几行看起来像下面这样:

Installing collected packages: ipython, gnureadline
Successfully installed ipython gnureadline
Cleaning up...

现在,如果你输入 pip freeze 到控制台,会看到当前环境的库,同时还有每个安装的版本号。输出会类似下面这样:

gnureadline==6.3.3
ipython==2.1.0
wsgiref==0.1.2

这些输出告诉我们,在 testprojects 环境中,我们安装了 3 个库:gnureadline、ipython 和 wsgiref。ipython 是我们刚刚安装的库。gnureadline 是在安装 ipython 时安装的库,因为这是一个依赖库。(这让你避免了需要直接安装依赖的库。很好,不是吗?)第三个库是 wsgiref。它默认存在,但是不是必需的。

所以我们已经安装了一个叫 ipython 的库,但是我们可以用它做些什么呢?IPython 是一个易于使用的 Python 默认解释器的替代(你可以在附录 F 中读到更多关于 IPython 的信息)。为了启动 IPython,直接输入 ipython。

你会看到类似下面的输入提示:

IPython 3.1.0 -- An enhanced Interactive Python.
?     -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help    -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]:

对其进行测试,输入下面命令:

In [1]: import sys

In [2]: import pprint

In [3]: pprint.pprint(sys.path)

你应该会看到与我们确认环境工作时相同的输出。sys 和 pprint 是标准库模块,打包在 Python 之中。

有两种方法退出 IPython。你可以按下 Ctrl+D,在提示时输入 y(yes),或者只是输入 quit()。它的工作方式同默认的 Python shell 一样。

一旦你退出了,你会回到命令行。现在我们有了一个叫 testprojects 的环境,有 3 个库已经安装。但是如果我们致力于其他项目,想要有另一个环境呢?首先,输入下面的命令禁用当前的环境:

$ deactivate

之后创建一个新的叫作 sandbox 的环境:

$ mkvirtualenv sandbox

完成之后,你会进入新环境。如果输入 pip freeze,你会看到这个环境还没有安装 IPython。因为这是一个全新的环境,与 testprojects 环境完全分离。如果我们在这个环境中安装 IPython,它会在计算机上安装第二个实例。这保证我们在一个环境中所做的任何事不会影响其他的环境。

为什么它很重要?随着新项目的进行,你会想安装不同的库以及不同版本的库。我们建议为本书创建一个虚拟环境,但是如果你启动了一个新的项目,你会想要创建一个新的虚拟环境。正如你所见,随着项目的切换,在不同的环境中切换是很容易的。

有时候,你可能会碰到所有依赖都存储在一个名为 requirements.txt 文件中的仓库。库作者使用虚拟环境和 pip freeze 来保存列表,这样用户可以安装库和依赖。从 requirements 文件安装包,你需要运行 pip install -r requirements.txt。

我们知道如何创建和禁用环境,但是我们不知道如何激活一个已经存在的环境。为了激活我们名为 sandbox 的样例环境,输入下面的命令(如果你已经在其中了,需要先 deactivate 它,来看有什么区别):

$ workon sandbox

最后,你如何摧毁一个环境呢?首先,确保你不在想要删除的环境中。如果你键入了 workon sandbox,那么你应该在 sandbox 环境中了。为了删除它,首先你需要禁用它,然后移除它:

$ deactivate
$ rmvirtualenv sandbox

现在,你唯一应该拥有的环境为 testprojects。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文