Pipenv and Pipfile: The officially recommended Python packaging tool

You no longer need to use pip and virtualenv separately. Use pipenv instead.

ref:
https://docs.pipenv.org/

Install

$ pip install pipenv

ref:
https://github.com/pypa/pipenv

Usage

Caution: Pipenv is not compatible with Anaconda.

$ pyenv global 3.6.4

# initialize project virtualenv with a specific Python version
# automatically generate both Pipfile and Pipfile.lock from an existed requirements.txt
$ pipenv install --python python3

$ cd /path/to/project-contains-Pipfile
$ pipenv install

$ pipenv install pangu
$ pipenv install -r requirements.txt

# install packages to dev-packages
$ pipenv install --dev \
ipdb \
flake8 \
flake8-bandit \
flake8-bugbear \
flake8-comprehensions \
flake8-debugger \
flake8-print \
flake8-string-format \
pep8-naming \
pylint \
pylint-common \
pylint-celery \
pylint-django \
pylint-flask

# switch your shell environment to project virtualenv
$ pipenv shell
$ exit

# uninstall everything
$ pipenv uninstall --all

# remove project virtualenv
$ pipenv --rm

ref:
https://docs.pipenv.org/basics/
https://docs.pipenv.org/advanced/

Example Pipfile

[[source]]
url = "https://pypi.python.org/simple" 
verify_ssl = true 
name = "pypi" 

[packages] 
requests = ">=2.0.0" 

[dev-packages] 
flake8 = "*" 
ipdb = "*" 
ipython = "*" 
pylint = "*" 

[requires] 
python_version = "3.6"