无root权限在Fedora 26本地安装Python3.5.4后无法定位pip可执行文件
这种情况我之前也碰到过,核心问题大多是本地安装的Python可执行文件目录没被加入系统PATH,或者你还没激活环境变量的修改。咱们一步步来排查和解决:
1. 先找到你的pip所在位置
首先,确定你本地Python的安装前缀(也就是编译时指定的--prefix路径,如果你没手动指定,默认应该是~/.local)。
执行下面的命令查找pip的位置:
find ~ -name "pip3" -type f
你应该能找到类似~/.local/bin/pip3或者~/your-python-install-dir/bin/pip3的结果。
2. 验证pip是否能直接运行
找到路径后,直接用绝对路径运行试试,比如:
~/.local/bin/pip3 --version
如果能输出版本信息(比如你提到的pip-9.0.1),说明pip本身是好的,只是系统找不到它而已。
3. 确保PATH包含了pip所在的bin目录
你说已经更新了.bashrc_profile,但可能路径加错了,或者修改还没生效。
检查当前PATH:
echo $PATH
看看输出里有没有你刚才找到的pip所在的bin目录(比如~/.local/bin)。如果没有,就需要把它加进去。
修改环境变量:
编辑你的.bashrc(比.bashrc_profile更适合交互式shell场景):
nano ~/.bashrc
在文件末尾添加一行:
export PATH="$HOME/.local/bin:$PATH"
(如果你的pip在其他路径,比如~/python35/bin,就把路径换成对应的)
让修改立即生效:
source ~/.bashrc
现在再运行pip3 --version或者pip --version(本地Python的pip可能会软链成pip),应该就能正常识别了。
4. 后续安装包的注意事项
因为是无root本地安装,所有pip安装的包都会默认存到~/.local/lib/python3.5/site-packages下,不需要加sudo。比如安装requests:
pip3 install requests
如果担心和系统的Python混淆,建议始终用pip3而不是pip,明确指定是Python3的包管理工具。
额外排查:编译Python时的配置
如果上面的步骤都没解决,可能是编译Python时没确保pip被正确安装。你可以重新编译一次,加上--with-ensurepip=install参数,强制在安装Python时一并安装pip和setuptools:
cd /path/to/python3.5.4/source ./configure --prefix=$HOME/.local --with-ensurepip=install make && make install
内容的提问来源于stack exchange,提问作者user3005720




