我已经在python 3.7 shell中使用请求测试了一些东西,并且工作正常,但是一旦我尝试通过将其放入文件并运行来使其自动化,就会出现此错误:
Traceback (most recent call last):
File "C:\Users\Ben\AppData\Local\Programs\Python\Python37\lib\site-packages\simple_http_server\__init__.py", line 9, in <module>
import http.cookies as cookies
ModuleNotFoundError: No module named 'http.cookies'; 'http' is not a package
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Ben\Desktop\burp.py", line 6, in <module>
import requests
File "C:\Users\Ben\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\__init__.py", line 43, in <module>
import urllib3
File "C:\Users\Ben\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\__init__.py", line 8, in <module>
from .connectionpool import (
File "C:\Users\Ben\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 11, in <module>
from .exceptions import (
File "C:\Users\Ben\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\exceptions.py", line 2, in <module>
from .packages.six.moves.http_client import (
File "C:\Users\Ben\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\packages\six.py", line 203, in load_module
mod = mod._resolve()
File "C:\Users\Ben\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\packages\six.py", line 115, in _resolve
return _import_module(self.mod)
File "C:\Users\Ben\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\packages\six.py", line 82, in _import_module
__import__(name)
File "C:\Users\Ben\Desktop\http.py", line 1, in <module>
import simple_http_server
File "C:\Users\Ben\AppData\Local\Programs\Python\Python37\lib\site-packages\simple_http_server\__init__.py", line 11, in <module>
import Cookie as cookies
ModuleNotFoundError: No module named 'Cookie'
这是我的代码:
import json
import requests
data = requests.post("https://api.rec.net:443/api/players/v4/bulk", data={"Ids[]": "836571"})
jsonload = json.loads(data.text)
print(jsonload[0]["Bio"])
答案 0 :(得分:0)
import requests
是您要做的非常简单的事情。
让我们备份并创建一个简单的设置来运行脚本。
创建一个全新的conda环境,或者根据需要创建pip virtualenv。
使用conda install requests
获取一个一个库(及其传递的dep)。
我们要寻找的环境是 not 没有six
compat lib存在,即import six
失败。
我们希望它失败,因为该库使您感到悲伤,如堆栈跟踪所示。
它重命名了您不想重命名的模块,包括http
。
现在,从Shell或IDE,使用新环境来运行脚本。
最后,由于test
是python附带的标准模块,因此最好将代码重命名为其他名称,例如test1.py
。
答案 1 :(得分:0)
只是找出问题所在。我在一个名为http的目录中有一个文件,这引起了所有问题。谢谢大家的帮助:)