树莓派Debian系统中用Pipenv指定Python 3.6.5创建虚拟环境
我来帮你搞定这个问题!你编译装了Python3.6但Pipenv还揪着系统的3.5.3不放,核心原因是Pipenv默认会优先找系统自带的Python版本,咱们一步步把它掰过来:
首先先确认你编译的Python3.6的安装路径,执行这条命令:
which python3.6
正常应该输出 /usr/local/bin/python3.6——这是编译安装Python的默认路径,要是没输出的话,可能编译过程出了小问题,但你说已经编译完成了,大概率是这个路径没错。
接下来分两种场景处理:
场景1:可以删掉现有Pipenv环境重来
如果你的robot目录里的环境还没装太多依赖,直接删了重建最省心:
- 先移除当前绑定3.5的环境:
pipenv --rm
- 直接指定Python3.6的路径创建新环境:
pipenv --python /usr/local/bin/python3.6
- 之后正常安装依赖或者进入shell:
pipenv install # 有Pipfile的话会自动装依赖 pipenv shell
进shell后敲python --version,这下应该就能看到3.6.5的版本号了。
场景2:想让所有Pipenv项目默认用Python3.6
要是以后所有新项目都想用3.6,直接设置全局环境变量一劳永逸:
- 打开bash的配置文件编辑:
nano ~/.bashrc
- 在文件末尾加这么一行:
export PIPENV_PYTHON=/usr/local/bin/python3.6
- 保存退出后,让配置立即生效:
source ~/.bashrc
之后不管在哪个目录创建Pipenv环境,都会自动用3.6版本。
额外小建议:用Python3.6自带的pip装Pipenv
你之前用sudo pip3 install pipenv,这个pip3是系统Python3.5的配套工具,所以Pipenv默认就绑定了3.5。要是想从根源解决,直接用你编译的Python3.6的pip来装Pipenv:
/usr/local/bin/python3.6 -m pip install --user pipenv
这样装出来的Pipenv本身就会优先认3.6,不用每次都手动指定路径。
最后验证一下:进入Pipenv shell后,分别执行python --version和pip --version,确认输出都是和3.6相关的就ok了。
内容的提问来源于stack exchange,提问作者James Taylor
相关产品推荐
相关产品推荐

