弄乱了pip环境,无法导入Python模块。

13 浏览
0 Comments

弄乱了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,但没有帮助。希望能得到帮助。

0
0 Comments

在这个问题中,出现了混乱的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问题。感谢大家的帮助!

0