pip 列表显示已安装的模块,但仍然出现导入错误

问题描述 投票:0回答:4

我正在使用 python Flask 的 requests 模块。我已经使用安装了请求模块:

pip install requests

并验证当我运行时请求模块是否存在:

pip list

但是当我运行我的 python 应用程序时,我收到请求模块的导入错误。

我注意到 pip 正在将模块安装在

C:\Users\xx\Documents\Projects\Python\Python3REST\lib\site-packages\
文件夹中,但解释器正在
C:\Users\xx\Documents\Projects\Python\Python3REST\lib\site-packages\flask\
文件夹中查找模块。

我尝试运行命令:

pip install --install-option="Path to install in" requests

但是抛出了一些其他错误。

我收到的导入错误状态:

ImportError: cannot import name 'requests' from 'flask'
(C:\Users\xx\Documents\Projects\Python\Python3REST\lib\site-packages\flask\__init__.py)

我正在 Windows 10 中的 virtualenv 中工作。

python pip virtualenv
4个回答
11
投票

我最近在安装自制软件包时遇到了同样的问题。我用

pip install <package>
安装了它,并检查了它实际上是用
pip list
安装的,但用
import <package>
运行脚本返回了
ModuleNotFoundError: No module named <package>

我解决了在包目录中创建一个名为

__init__.py
的空文件的问题。

检查https://pythontips.com/2013/07/28/what-is-init-py/https://docs.python.org/3/tutorial/modules.html#packages为了更好的理解。


1
投票

如果将该文件夹添加到您的路径中会怎样?使用 sys.path.extend?


0
投票

我用

python3 -m pip install <package name>
解决了这个问题。在OP的情况下,应该是
python3 -m pip install requests

请注意,我使用的是 python 3.10。


0
投票

我也有同样的问题。检查您的代码所在的文件夹是否未命名为“flask”或具有其他冲突的名称。

© www.soinside.com 2019 - 2024. All rights reserved.