3.1. pipenv 和 python 虚拟环境 | 虚拟环境 |《python 最佳实践指南 2018 2018》| python 技术论坛-380玩彩网官网入口
这份教程是帮助你安装和使用 python 的包
本指南会告诉你如何安装和使用必要的工具。值得注意的是 python 可以做许多许多的事情,至于你如何去安装和管理你的依赖可能会根据你项目的不同而不同。这份指南更多是开发和部署网络服务(包括 web 应用),但是这份指南同样适用于帮助你管理任何项目的开发和测试环境。
注意:这份指南是在 python 3 版本下完成的,如果你由于不可抗拒的原因仍然在使用 python 2.7 这份指南内的内容也应该会适用。
确保你已经安装了 python 和 pip
在你进行任何更多的操作之前,确保你已经安装了 python 并且它可以让你在命令行中使用。你可以输入以下命令来检测:
$ python --version
你应该获得类似于 3.6.2
的输出。如果你没有安装 python,请在 安装最新的 3.x 版本或者参考本指南的 一节。
注意:如果你是新手,并且出现这样的错误:
>>> python
traceback (most recent call last):
file "", line 1, in
nameerror: name 'python' is not defined
这是因为此命令旨在运行于 shell(也称为 终端 或 控制台 )。
请参阅 ,了解如何使用操作系统的 shell 以及如何与 python 进行交互。
此外,您需要确保您有可用的 pip
。 你可以通过运行来检查:
$ pip --version
如果您是从源代码安装 python,使用 的安装程序或通过 安装,则应该已经有 pip 。 如果您在 linux 上并使用 os 软件包管理器进行安装,则可能需要单独 。
安装 pipenv
pipenv 是一个 python 项目依赖管理工具,如果你熟悉 node.js 的 或者 ruby 的 ,他们是和 pipenv 非常相似的工具。尽管 pip 也可以安装 python 的包,但是 pipenv 被推荐的理由是因为 pipenv 为使用者提供了更加方便的依赖管理
使用 pip
安装 pipenv :
$ pip install --user pipenv
注意:以上命令执行了 模式,以防止破坏其他的包。你通过 pip 安装以后,如果 pipenv
命令并没有生效的话,你需要添加 的路径到你的 path
中.
在 linux 和 macos 上,你可以通过运行 python -m site --user-base
命令然后在其结果后面加上 bin
来找到用户基础二进制文件。 举个例子,上面的命令会输出 ~/.local
( ~
代表当前登录用户 home
目录的绝对路径),然后你需要把 ~/.local/bin
添加到 path
中去,通过 你可以让你的 path
永久生效。
在 windows 上找用户基础二进制文件,你可以运行命令 py -m site --user-site
然后替换 site-packages
为 scripts
。比如,前面的命令返回结果是 c:\users\username\appdata\roaming\python36\site-packages
,那么你需要在 path
中包含 c:\users\username\appdata\roaming\python36\scripts
。你可以在 中设置 path
使其永久生效。当 path
改变后,你可能需要重启系统来使其生效。
为你的项目安装软件包
pipenv 管理每个项目的依赖。要安装软件包,先切换到你的项目目录(或者像本教程一样是个空目录)然后运行:
$ cd myproject
$ pipenv install requests
pipenv 将会安装优秀的 库并在你的项目目录中创建一个 pipfile
文件。 这个 pipfile 用来跟踪你项目所需的依赖,以防以后你需要重新安装它们,比如把你的项目分享给别人。你应该获得类似下面这种输出(尽管确切的目录可能是不同的):
creating a pipfile for this project...
creating a virtualenv for this project...
using base prefix '/usr/local/cellar/python3/3.6.2/frameworks/python.framework/versions/3.6'
new python executable in ~/.local/share/virtualenvs/tmp-agwwambd/bin/python3.6
also creating executable in ~/.local/share/virtualenvs/tmp-agwwambd/bin/python
installing setuptools, pip, wheel...done.
virtualenv location: ~/.local/share/virtualenvs/tmp-agwwambd
installing requests...
collecting requests
using cached requests-2.18.4-py2.py3-none-any.whl
collecting idna=2.5 (from requests)
using cached idna-2.6-py2.py3-none-any.whl
collecting urllib3=1.21.1 (from requests)
using cached urllib3-1.22-py2.py3-none-any.whl
collecting chardet=3.0.2 (from requests)
using cached chardet-3.0.4-py2.py3-none-any.whl
collecting certifi>=2017.4.17 (from requests)
using cached certifi-2017.7.27.1-py2.py3-none-any.whl
installing collected packages: idna, urllib3, chardet, certifi, requests
successfully installed certifi-2017.7.27.1 chardet-3.0.4 idna-2.6 requests-2.18.4 urllib3-1.22
adding requests to pipfile's [packages]...
p.s. you have excellent taste! ✨ ? ✨
使用已安装的软件包
现在 requests 已经安装,你可以创建一个简单的 main.py
文件来使用它:
import requests
response = requests.get('https://httpbin.org/ip')
print('你的 ip 地址是 {0}'.format(response.json()['origin']))
然后你可以使用 pipenv run
来运行这个脚本:
$ pipenv run python main.py
你可以获得类似这样的输出:
你的 ip 地址是 8.8.8.8
使用 $ pipenv run
来确保你安装的软件包在你的脚本中可用。也可以使用 $ pipenv shell
来生成一个新的 shell 以确保所有的命令都可以访问你已安装的软件包。
下一步
恭喜,你现在已经知道怎么安装和使用 python 包了!✨ ? ✨
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 cc 协议,如果我们的工作有侵犯到您的权益,请及时联系380玩彩网官网入口。