Python:使用pip3安装了本地软件包,但未找到模块错误

ask*_*sku 5 pip python-3.x

程序:

错误:

它仍然找不到模块:

python3
Python 3.6.5 (default, Apr 25 2018, 14:26:36)
import funniest
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'funniest'
Run Code Online (Sandbox Code Playgroud)

但是,当我在中导入模块时python,它可以找到它:

python
Python 2.7.10 (default, Feb  7 2017, 00:08:15)
import funniest
Run Code Online (Sandbox Code Playgroud)

我的python:

sys.executable
'/usr/local/opt/python/bin/python3.6'
Run Code Online (Sandbox Code Playgroud)

为什么要pip3为python 2.7而不是为我的python 3.x安装它?

谢谢!

ask*_*sku 11

按照@hoefling 的提示,我发现我的 pip3 与错误的 Python 版本有些关联。

然后安装python3 -m pip install工作。

  • 不要忘记在最后添加要安装的模块:`python3 -m pip install module-name` (2认同)

lou*_*mer 4

我建议您使用虚拟环境来解决所有这些麻烦。

如果你用python3制作虚拟环境,就不存在python版本的歧义了,生活就简单多了。

使用命令

pip install --upgrade virtualenv
Run Code Online (Sandbox Code Playgroud)

然后,根据你的 python3 所在的位置(你可以通过which python3在终端上输入来检查),你应该执行如下操作:

virtualenv -p /usr/bin/python3 mypy3
source mypy3/bin/activate
Run Code Online (Sandbox Code Playgroud)

(mypy3)此时您的终端将显示在行的开头(提示之前)。在这里,您可以执行以下操作:

pip install funniest
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用virtualenvwrapper,我觉得这很方便。

如果您想了解更多信息,请参阅文档或教程的相关部分。但请确保您创建了一个单独使用 python3 的环境,这样就不会出现混乱。