弄乱了pip环境,无法导入Python模块。
弄乱了pip环境,无法导入Python模块。
我的Python相关版本和路径如下:\n
pip -V
\n输出结果:\n
pip 19.1.1 from /home/USER_NAME/.local/lib/python3.6/site-packages/pip (python 3.6)
\n
which pip
\n输出结果:\n
/home/USER_NAME/.local/bin/pip
\n
python -V
\n输出结果:\n
Python 3.6.7
\n
which python
\n输出结果:\n
/home/USER_NAME/bin/python
\n问题是,我使用了几种方法来更新pip,结果一切都乱了。因此,即使我使用pip安装了Python模块,我现在也无法使用它们。例如,执行以下命令:\n
pip install requests
\n结果显示:\n
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (2.18.4)
\n但是当我在Python代码中导入requests时,出现以下错误:\n
Python 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import requests Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'requests'
\n原因是pip链接到了.local
目录,我尝试卸载并重新安装pip,但没有帮助。希望能得到帮助。
在这个问题中,出现了混乱的pip环境,并且无法导入python模块。这个问题的原因是pip和python不在相同的范围内。具体来说,python被链接到全局范围(/usr/bin/),而pip被安装在用户的本地范围(/home/$USER/.local/bin/)。因此,当运行pip install requests时,它会检查/home/$USER/.local,并满足要求。解决方法有两种:
1. 卸载本地的pip,并使用全局的pip和全局范围的python。
- 运行pip uninstall pip
卸载本地的pip。
- 使用全局范围的python和pip。
2. 将/home/$USER/bin/python链接到本地用户范围的python。
- 移除当前的符号链接$HOME/bin/python
。
- 运行ln -s /home/$USER/.local/bin/python3 /home/$USER/bin/python
来将/home/$USER/bin/python链接到本地用户范围的python。
在这个问题中,运行pip uninstall pip
和移除旧的符号链接解决了python问题。感谢大家的帮助!