栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

树莓派pyenv没有正确识别到虚拟环境的pip

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

树莓派pyenv没有正确识别到虚拟环境的pip

折腾树莓派的时候遇到一个很诡异的问题。使用pyenv安装虚拟环境之后,python -V显示的是正确的虚拟环境python版本,然而which pip却显示的是系统的pip:

$ which python
/home/pi/.pyenv/shims/python
$ which pip
/home/pi/.local/bin/pip

pip list当然也是显示系统python环境安装的各种包。

最诡异的是,最开始虚拟环境的pip是正确指向/home/pi/.pyenv/shims/pip的,从某个时间开始新建的虚拟环境就都不行了。而且出现问题后,随时切换到正常的虚拟环境的pip仍然还是正常的。
于是折腾一通,发现在~/.profile里面写的是:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

确认一下:

$ echo $PATH
/home/pi/.local/bin:/home/pi/.pyenv/plugins/pyenv-virtualenv/shims:/home/pi/.pyenv/shims:/home/pi/.pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

所以$HOME/.local/bin被添加到$PATH最前面,导致$HOME/.local/bin/pip先被找到。

修改~/.profile,把$PATH提到前面。

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$PATH:$HOME/bin"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$PATH:$HOME/.local/bin"
fi

sudo reoot之后,再次查看$PATH,which pip结果正确:

pi@raspberrypi:~ $ echo $PATH
/home/pi/.pyenv/plugins/pyenv-virtualenv/shims:/home/pi/.pyenv/shims:/home/pi/.pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/home/pi/.local/bin

pi@raspberrypi:~ $ pyenv activate myenv1
pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

(myenv1) pi@raspberrypi:~ $ which pip
/home/pi/.pyenv/shims/pip

然后 pip list结果就是一个新的基本python环境了:

$ pip list
Package    Version
---------- -------
pip        22.1.2
setuptools 40.8.0

但是为什么以前是好的呢? 百思不得其解。改了之后问题暂时解决。其他系统也没看到过类似问题。就先这样吧。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/977443.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号