python - 即使多次安装和卸载,导入请求也会导致错误
问题描述
我在虚拟环境中工作,我已经安装和卸载requests
了多次,每次都没有任何警告或错误。
关于我的问题的奇怪部分ModuleNotFoundError
是仅在某些地方抛出。在运行我的脚本(导入requests
)时,当我导入脚本时,当我requests
在 IDLE shell 中导入时,我得到了错误。(这都是在虚拟环境中完成的——别担心,我检查了多次!)但是,当我从命令行运行python
并执行上述所有操作时,我没有收到任何错误。
已安装的软件包
$ pip list
Package Version
-------------- ---------
beautifulsoup4 4.9.3
certifi 2020.12.5
chardet 4.0.0
idna 2.10
pip 20.3.3
requests 2.25.1
selenium 3.141.0
setuptools 49.2.1
soupsieve 2.1
urllib3 1.26.2
眼镜
- Python 3.8.6
- Windows 10 家庭版,64 位
- git 版本 2.29.2.windows.3
解决方案
看来您正在使用vscode。原因是您可能在 vscode 中设置了虚拟环境,但终端无法识别虚拟环境。因此,每当您安装模块时,它将全局安装而不是在虚拟环境中。因此,因此,当您直接运行代码时,您会收到错误,但由于终端设置为使用系统 Python 路径而不是虚拟环境而不是路径,因此终端运行文件没有问题。如果您设置了虚拟环境,请确保您已正确设置。在安装 requests 模块之前,通过 source venv/bin/activate 激活虚拟环境,而
不是通过 pip install requests 安装 requests 模块
推荐阅读
- typescript - 无法在模块中注入选定的自定义存储库
- ocaml - 哈佛 CS51Utils
- excel - Workbook_Open() 出现宏错误,但之后正常运行
- grafana - 我应该向 grafana geomap 提供什么类型的数据?
- java - 如何理解 logback 的 writeLoopOnConverters 抛出 stackoverflow
- php - 购买时无法发送确认电子邮件
- angular - 如何过滤对象数组并将其分配到打字稿的新变量列表中?
- java - Postgresql 的 QueryExecutor 无限期挂在`receiveChar()` 以获取已成功完成的查询
- javascript - Buildfire - 屏幕事件在 IOS 上不起作用,在 android 和预览上很好
- php - AWS- 子域不支持 HSTS