副问题[/!--empirenews.page--]

起首贴上Pipenv的主页
GitHub地点:https://github.com/pypa/pipenv
文档地点:https://docs.pipenv.org
配景先容
1.什么是Pipenv?
答复:包和版本打点的最好器材,pipenv 是 Pipfile 首要建议者、requests 作者 Kenneth Reitz 写的一个呼吁行器材,首要包括了Pipfile、pip、click、requests和virtualenv。Pipfile和pipenv原来都是Kenneth Reitz的小我私人项目,其后孝顺给了pypa组织。Pipfile是社区制定的依靠打点文件,用于更换过于简略的 requirements.txt 文件。
2.Python有哪些包和版本打点器材?
答复:pip、virtualenv、pyenv
3.这些器材和Pipenv的区别以及它相同与其他说话中的哪些器材?
答复:
(1)pip只是一个Python包揽理的器材,也就是说它不能同时去打点项目标版本,举例来说,
场景一:
项目A和项目B,同时行使一个包,可是项目A必要行使包的1.0版本,项目B必要行使包的2.0版本
场景二:
项目A在开拓阶段必要行使到单位测试模块,以是用到一些做测试的包,可是项目上线不必要这些包。
这种场景需求就要求我们必要为差异的版本以及开拓阶段提供差异假造情形。
(2)virtualenv
virtualenv 是一个建设距离的Python情形的器材。virtualenv建设一个包括全部须要的可执行文件的文件夹,用来行使Python工程所需的包。它的道理着实很简朴,就是在建设完新的假造情形之后,在激活情形的同时,在情形变量内里加上了指定假造情形的Python路径罢了
讲到这里,我们有个迷惑,既然virtualenv这么好用了,为什么官方更保举行使Pipenv呢,由于它在virtualenv之上又封装了一层,这就仿佛requests在urllib等收集库之后又封装了一层,越发人道化,以及越发富厚的、简捷的语法天然是更受接待,并且越发奇异的是其在对付依靠的处理赏罚越发细节化,当下载一个新的包时,会自动对包加锁处理赏罚,搜查其依靠包的包装环境。
那么,在其他说话中是否有相同的项目呢,着实是有的。Pipenv也是小心于Node的NPM,Ruby的GEM等等,各人感乐趣可以去看看他们的道理,我们会在之后的文章中来探索一下他们的计划道理。
2.详细行使
安装
Pipenv 是基于 Python 开拓的包,以是可以直接用 pip 来安装,呼吁如下:
- pip3 install pipenv
其它尚有多种安装方法,如 Pipsi、Nix、Homebrew,安装方法可以参考:http://pipenv.readthedocs.io/en/latest/#install-pipenv-today
根基行使
起首我们可以新建一个项目,譬喻叫做 PipenvTest,然后新建一个 Python 剧本,譬喻叫 main.py,内容为:
- import django
- print(django.get_version())
直接用体系的 Python3 运行此剧本:
- python3 main.py
功效如下:
- 1.11
我们可以看到体系安装的 Django 版本是 1.11。可是我们想要本项目基于 Django 2.x 开拓,虽然我们可以选择将体系的 Django 版本进级,但这样又也许会影响其他的项目标运行,以是这并不是一个好的选择。为了不影响体系情形的 Django 版本,以是我们可以用 Pipenv 来建设一个假造情形。
在该目次下,输入 pipenv 呼吁即可查察呼吁的完备用法:
- Usage: pipenv [OPTIONS] COMMAND [ARGS]...
-
- Options:
- --update Update Pipenv & pip to latest.
- --where Output project home information.
- --venv Output virtualenv information.
- --py Output Python interpreter information.
- --envs Output Environment Variable options.
- --rm Remove the virtualenv.
- --bare Minimal output.
- --completion Output completion (to be eval'd).
- --man Display manpage.
- --three / --two Use Python 3/2 when creating virtualenv.
- --python TEXT Specify which version of Python virtualenv should use.
- --site-packages Enable site-packages for the virtualenv.
- --jumbotron An easter egg, effectively.
- --version Show the version and exit.
- -h, --help Show this message and exit.
-
-
- Usage Examples:
- Create a new project using Python 3.6, specifically:
- $ pipenv --python 3.6
-
- Install all dependencies for a project (including dev):
- $ pipenv install --dev
-
- Create a lockfile containing pre-releases:
- $ pipenv lock --pre
-
- Show a graph of your installed dependencies:
- $ pipenv graph
-
- Check your installed dependencies for security vulnerabilities:
- $ pipenv check
-
- Install a local setup.py into your virtual environment/Pipfile:
- $ pipenv install -e .
-
- Commands:
- check Checks for security vulnerabilities and against PEP 508 markers
- provided in Pipfile.
- graph Displays currently–installed dependency graph information.
- install Installs provided packages and adds them to Pipfile, or (if none
- is given), installs all packages.
- lock Generates Pipfile.lock.
- open View a given module in your editor.
- run Spawns a command installed into the virtualenv.
- shell Spawns a shell within the virtualenv.
- uninstall Un-installs a provided package and removes it from Pipfile.
- update Uninstalls all packages, and re-installs package(s) in [packages]
- to latest compatible versions.
接下来我们起首验证一下当前的项目是没有建设假造情形的,挪用如下呼吁:
- pipenv --venv
功效如下:
- No virtualenv has been created for this project yet!
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|