理解pipenv in Python
-
Prerequisite
-
Pipenv (Homepage)
requests
作者 K e n R e i t z Ken Reitz KenReitz发布于2017.1.22.Windows is a first-class citizen, in our world.
Pipenv
is a tool that aims to bring the best of all packaging worlds (bundler, composer, npm, cargo, yern, etc.) to the Python world.It harnesses
Pipfile
,pip
, andvirtualenv
into one single toolchain.It automatically creates and manages a
virtualenv
for you projects, as well as adds/removes packages from yourPipfile
as you install/uninstall packages. It also generates the ever importantPipfile.lock
, which is used to produce deterministic builds.Pipenv
is primarily meant to provide users and developers of applications with an easy method to setup a working environment.Pipenv
集成包管理+虚拟环境,通过Pipfile,Pipfile.lock以实现.针对虚拟环境,不再需要activate
anddeactivate
-
Installing Pipenv
pip install --user pipx pipx ensurepath pipx install pipenv
-
基础用法
详情参见:
Pipenv
manages dependencies on a per-project basis. To install packages, change into your projects’s directory (or just an empty directory for this tutorial) and run:cd project_folder pipenv install requests pipenv shell # activate environment touch script.py pipenv run python script.py pipenv uninstall <package> pipenv --rm # remove the virtualenv
Pipenv
will install requests library and create aPipfile
for you in your project’s directory. ThePipfile
is used to track which dependencies your project needs in case you need to re-install them, such as when you share your projects with others.If it already has a
requirements.txt
file, it will generate aPipfile
file with the requirements and a virtual environment folder, otherwise, it will generate an emptyPipfile
file.If you disliked or changed your mind about somthing that you have installed:
pipenv uninstall <package>
To activate the virtual environment that pipenv generated:
pipenv shell
to leave the environment:
exit
Using
pipenv run
ensures that your installed packages are available to your scripts. It’s also possible to spawn a new shell that ensures all commands have access to your installed packages withpipenv shell
. -
References