Pipenv & 虚拟环境

本教程将引导您完成安装和使用 Python 包。

它将向您展示如何安装和使用必要的工具,并就最佳做法做出强烈推荐。请记住, Python 用于许多不同的目的。准确地说,您希望如何管理依赖项可能会根据 您如何决定发布软件而发生变化。这里提供的指导最直接适用于网络服务 (包括 Web 应用程序)的开发和部署,但也非常适合管理任意项目的开发和测试环境。

注解

本指南是针对 Python 3 编写。但如果您由于某种原因仍然使用 Python 2.7, 这些指引应该能够正常工作。

确保您已经有了 Python 和 pip

在您进一步之前,请确保您有 Python,并且可从您的命令行中获得。 您可以通过简单地运行以下命令来检查:

$ python --version

您应该得到像 3.6.2 之类的一些输出。如果没有 Python,请从 python.org 安装最新的 3.x 版本,或参考本指南的 安装 Python 一节。

注解

如果您是新手,您会得到如下错误:

>>> python
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'python' is not defined

这是因为此命令要在 shell*(也称为 *终端 或 控制台)中运行。有关使用操作系统的 shell 并和 Python 进行交互的介绍,请参阅面向 Python 新手的 入门教程

另外,您需要确保 pip 是可用的。您可以通过运行以下命令来检查:

$ pip --version

如果您使用 python.org 或 Homebrew 的安装程序来安装 Python,您应该已经有 pip 了。 如果您使用的是Linux,并使用操作系统的包管理器进行安装,则可能需要单独 安装 pip

安装 Pipenv

Pipenv 是 Python 项目的依赖管理器。如果您熟悉 Node.js 的 npm 或 Ruby 的 bundler,那么它们在思路上与这些工具类似。尽管 pip 可以安装 Python 包, 但仍推荐使用 Pipenv,因为它是一种更高级的工具,可简化依赖关系管理的常见使用情况。

使用 pip 来安装 Pipenv:

$ pip install --user pipenv

注解

这进行了 用户安装,以防止破坏任何系统范围的包。如果安装后, shell 中没有pipenv,则需要将 用户基础目录 的 二进制文件目录添加到 PATH 中。

在 Linux 和 macOS 上,您可以通过运行 python -m site --user-base 找到 用户基础目录,然后把 bin 加到目录末尾。比如,上述命令典型地会打印出~/.local``( ``~ 会扩展为您的家目录的局对路径),然后将 ~/.local/bin添加到 PATH 中。您可以通过 修改 ~/.profile 永久地设置 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 将在您的项目目录中安装超赞的 Requests 库并为您创建一个 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.7,>=2.5 (from requests)
Using cached idna-2.6-py2.py3-none-any.whl
Collecting urllib3<1.23,>=1.21.1 (from requests)
Using cached urllib3-1.22-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=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! ✨

python虚拟环境搭建大全(转)的更多相关文章

  1. 【OpenStack】OpenStack系列1之Python虚拟环境搭建

    安装virtualenv相关软件包 安装:yum install python-virtualenv* -y 简介,安装包主要包括, python-virtualenv:virtualenv用于创建独 ...

  2. python虚拟环境搭建

    1.安装python环境 2.检查pip 3.pip install virtualenv 4.创建测试:virtualenv  testvir 5.pip install virtualenvwra ...

  3. virtualenv python虚拟环境搭建

    python virtualenv.py flask

  4. CentOS使用virtualenv搭建独立的Python环境-python虚拟环境

    CentOS使用virtualenv搭建独立的Python环境-python虚拟环境 virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解 ...

  5. linux 搭建python虚拟环境

    requirements.txt 包含paramiko,pysfp.setuptools,适用python版本3.6.6+ 前提编译安装python wget wget https://www.pyt ...

  6. python项目虚拟环境搭建

    一. 虚拟环境搭建目的 一个项目一个环境,防止各个项目互相干扰,项目更加简洁,利于打包.... 二.使用 pip install virtualenv 安装 创建虚拟环境 cd my_project_ ...

  7. 在windows环境下利用virtualenv搭建Python虚拟环境

    安装Python 安装时只有一点需要注意,一定一定要将Python添加到系统环境变量那一项勾选. 安装 virtualenv 加入系统目录之后,命令行(CMD)下就多了一条命令:pip.用pip可以自 ...

  8. python虚拟环境的搭建

    使用python虚拟环境作用是项目与项目之间相互隔离,互相不受影响,比如当需要同时部署A.B两个项目时,A项目依赖C库的1.0版本,B项目依赖C库的2.0版本,假如不使用虚拟环境隔离A项目和B项目就很 ...

  9. 01:CENTOS使用VIRTUALENV搭建独立的PYTHON环境-PYTHON虚拟环境

    1.1 安装virtualenv环境 https://www.cnblogs.com/liuyansheng/p/6141197.html 1.安装virtualenv yum install pyt ...

随机推荐

  1. Java微服务对UTC时间格式的处理

    一.背景 先说一下为什么要使用UTC时间.开发一个全球化的系统,服务端(Java微服务)集中部署在同一个地方,用户在全球通过浏览器.手机客户端访问.不同地区的时区是不一样的,同一个时间戳,不同的用户看 ...

  2. html onclick时间传字符串参数

    经常忘记拼html中onclick事件传字符串引号的问题,所以今天记一下! 简单一句话 外面是"",里面就是'',外边是'',里边就是"".   示例: var ...

  3. Linux shell 脚本(三)

    转载请标明出处:  http://blog.csdn.net/zwto1/article/details/45111547:  本文出自:[zhang_way的博客专栏] 九.使用case 分支 语法 ...

  4. Excel IF函数怎么用

    本例主要介绍Excel表格中IF函数的用法,包括基本用法.单条件.多条件表达及在数组函数中的用法和在数组函数中怎么表达多条件和单条件. 工具/原料   Excel IF函数语法介绍:   1 IF函数 ...

  5. setup命令的安装

    2018-03-01  10:25:18 最小化安装的Linux系统,setup命令使用不了 安装方法:yum install setuptool    #安装完以后,只要直接输入 setup,就会出 ...

  6. nginx里的sticky的作用

    1.Sticky工作原理 : Sticky是nginx的一个模块,它是基于cookie的一种nginx的负载均衡解决方案,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上,默认标识 ...

  7. JAVA:一篇文章理清多态

    很多人总是喜欢,或者说错误地将JAVA中的多态理解得很复杂,最常见的错误说法就是所谓"方法的多态",他们会给出类似下面的例子来佐证"多态是指方法的多态": // ...

  8. Laravel框架中的make方法详解

    为什么网上已经有这么多的介绍Laravel的执行流程了,Laravel的容器详解了,Laravel的特性了,Laravel的启动过程了之类的文章,我还要来再分享呢? 因为,每个人的思维方式和方向是不一 ...

  9. thinkphp3.2-更改控制器名后找不到相应的表?报1146的错

    用tp在做着自己的小系统的时候,明明在刚才还是能好好地查到表的,在Service用了'D'方法连自己数据库的表,只是更改了自己的控制器名,却报错了... 我就纳闷了,虽然我的控制器和Service用的 ...

  10. [SDOI2010] 魔法猪学院

    Description 给定e和边权,求有多少条不同的道路能从1到n使得边权之和的和小于e Solution A*裸题 娘的要是SPFA再把dis写成to就剁手 // By YoungNeal #in ...