使用 pipenv 和 autoenv 构造 Python Project 开发环境
安装 autoenv
autoenv 可以在进入项目之后自动就检测项目目录的 .env 文件激活项目所需的环境,这样能够保证每次切换项目都能自动进入项目自身依赖的虚拟环境。
brew install autoenv
echo "source $(brew --prefix autoenv)/activate.sh" >> ~/.bash_profile
安装 pipenv
确保系统上已经有了 Python 和 pip :
$ python --version Python 2.7.12
$ pip --version
pip 9.0.1 from /Library/Python/2.7/site-packages (python 2.7)
安装 pipenv :
$ pip install --user pipenv
--user
选项将 pipenv 安装在系统的用户目录,避免使用 sudo 权限以及破坏系统原有的依赖,在 Linux 和 macOS 中可以使用 python -m site --user-base
查看 pip 用户目录在什么地方。
$ python -m site --user-base
/Users/zhaoyongqiang/Library/Python/2.7
一般情况 Python 的用户 bin 目录并没有加入的 shell bin 中,找到该目录并加入到用户 path 中
export PATH=$PATH:/Users/zhaoyongqiang/Library/Python/2.7/bin
使用 pipenv 创建虚拟环境
pipenv 结合了 virtualenv 和 pip,借助 pipenv 可以一键创建 virtualenv 环境,也就是说每个项目都可以拥有自己单独的虚拟环境和依赖安装了。
$ cd myproject
$ pipenv shell
source /Users/zhaoyongqiang/.local/share/virtualenvs/myproject-TJNsri2_/bin/activate
pipenv shell
会创建一个 virenv 环境并激活,将虚拟环境的激活路径加入 .env
文件,下次进入目录会自动激活项目环境。
echo "source /Users/zhaoyongqiang/.local/share/virtualenvs/myproject-TJNsri2_/bin/">>.env
安装依赖包
$ cd myproject
$ pipenv install
如果项目中已经有了 requirements.txt
pipenv 会自动进行转换生成 Pipfile
文件,该文件是 pipenv 用来跟踪依赖包信息的文件。
如果出现:
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
说明在安装过程中有错误,可以按照提示进行操作:
pipenv install --skip-lock
转载自:https://juejin.cn/post/6844903503551266824