pipenv是一个python项目环境与依赖工具,具体用法可以看这里

问题由来

博主用Pycharm自动生成Django项目的时候,选择的环境依赖是用pipenv,但是经常会出现安装一些第三方包失败的情况,这是由于pipenv自动生成的Pipfile是这样的

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

显而易见,是由于pip镜像源的问题,虽然可以在Pipfile里自行修改,但是下一次用pipenv新建项目的时候,自动生成的Pipfile文件中的镜像源依旧如上。每次通过人工手动修改十分麻烦,必定有可以设置镜像源的地方。奈何在网上找到的一些方法感觉都不是很好,比如:

pipenv install --pypi-mirror https://mirrors.aliyun.com/pypi/simple

或者设置环境变量PIPENV_PYPI_MIRROR,但是Pipfile文件里的镜像源便不会变。

设置pip.conf是针对pip而言的,对pipenv也没用。

解决方法

在网上没找到解决的办法后,博主就直接去查看pipenv这个包的源代码了,具体过程就不多说了。告诉大家一个非常简单的方法,只要设置一个PIPENV_TEST_INDEX环境变量就可以了。

具体步骤

  • 打开~/.bash_profile文件
  • .bash_profile文件中加一句export PIPENV_TEST_INDEX='https://pypi.tuna.tsinghua.edu.cn/simple'
  • 保存退出后,在命令行中输入source ~/.bash_profile
  • 验证一下是否设置成功,命令行中输入echo $PIPENV_TEST_INDEX,如果打印出https://pypi.tuna.tsinghua.edu.cn/simple则表示设置成功了

以后再用pipenv生成虚拟环境使,Pipfile里的镜像源就会自动更改成设置的镜像源了。