请求模块在 pycharm 中不起作用(仅限)



我试图创建一个网页抓取程序,它使用bs4并请求库。我注意到每当 pycharm 遇到import requests它就会卡住并在我按回车键时抛出错误。错误是:

>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:UsersHP64bitlibsite-packagesrequests__init__.py", line 43, in <module>
import urllib3
File "C:UsersHP64bitlibsite-packagesurllib3__init__.py", line 8, in <module>
from .connectionpool import (
File "C:UsersHP64bitlibsite-packagesurllib3connectionpool.py", line 3, in <module>
import logging
File "C:UsersHPAppDataLocalProgramsPythonPython36Liblogging__init__.py", line 28, in <module>
from string import Template
File "C:UsersHPPycharmProjectsAutomatestring.py", line 28, in <module>
t = int(input())
ValueError: invalid literal for int() with base 10: ''
>>>

尝试在空闲外壳或cmd窗口中执行相同的操作就可以了 我使用的是Windows 10 64位,python 64位3.6.2rc1和Pycharm 2017.1.4社区版。

你的PYTHONPATH搞砸了,这可能是由于PyCharm选择将项目根目录添加到PYTHONPATH(该选项在"运行"设置中(。

由于混乱的 PYTHONPATH,请求内部的string导入会导入您的string.py而不是从 stdlib 导入相同的模块(顺便说一下,回溯清楚地表明了这一点(。


最简单的解决方案?不要有顶级.py文件,将它们放在包中。这样,只有你的包可以作为PYTHONPATH中的顶级包导入,但你最终不会有大量新的顶级模块。

最新更新