pycharm找不到模块--已解决
之前代码报错,根据搜索结果是urllib3新版本导致的bug,按照教程卸载后,重新安装低版本urllib3,发现pycharm报错‘No Module Named urllib3’,下面是我折腾的经过
重装requests
发现自己是用cmd在全局命令行下重新安装的urllib3,遂把pycharm上的requests卸载,再用cmd在全局命令行下重新安装requests,还是发现不了模块;
添加环境变量
在cmd下,查看requests的位置
C:\Users\123>pip show urllib3
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
Name: urllib3
Version: 1.25.7
Summary: HTTP library with thread-safe connection pooling, file post, and more.
Home-page: https://urllib3.readthedocs.io/
Author: Andrey Petrov
Author-email: andrey.petrov@shazow.net
License: MIT
Location: c:\users\123\appdata\roaming\python\python37\site-packages
Requires:
Required-by: selenium
C:\Users\123>
把路径c:\users\123\appdata\roaming\python\python37\site-packages添加到环境变量,无果(重启也没用);
修改pycharm解释器
在看到一篇文章 如何解决pycharm找不到模块 发现了可以修改解释器path的地方,
把路径c:\users\123\appdata\roaming\python\python37\site-packages添加到这里后,稍等一下,pycharm就识别到模块了,运行代码也不再报错了
///(^ v ^)\\\
后记
还有一个问题当时没有考虑到,就是开发环境污染的问题,比如有两个project需要urllib3,但是需要的版本不一样,这样在全局安装urllib3就不太合适了,所以project需要的库安装在各自的虚拟环境中比较好;我用的是pycharm,把urllib3安装在它自动创建的项目文件夹下的\venv\Lib\site-packages\即可,使用
pip install --target=c:\Users\123\PycharmProjects\Mytest\venv\Lib\site-packages urllib3==1.25.7
把之前添加的路劲删除,依然可以识别模块
///(^ v ^)\\\