Rüd*_*ger 7 python python-requests
我正在尝试通过 python 触发 http 帖子。该requests模块是通过安装的pip3 install requests- 现在它也说“要求满足”,所以它被安装了。
我正在使用 Python 版本3.8.0。
编码:
import requests as r
headers = {'Accept' : 'application/json', 'Content-Type' : 'application/json'}
url = 'http://localhost:8083/push/message'
jsons = {"test"}
r.post(url, json=jsons, headers=headers)
Run Code Online (Sandbox Code Playgroud)
错误:
Traceback (most recent call last):
File "http.py", line 1, in <module>
import requests as r
File "C:\User\name\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\__init__.py", line 43, in <module>
import urllib3
File "C:\User\name\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\__init__.py", line 7, in <module>
from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
File "C:\User\name\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connectionpool.py", line 11, in <module>
from .exceptions import (
File "C:\User\name\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\exceptions.py", line 2, in <module>
from .packages.six.moves.http_client import IncompleteRead as httplib_IncompleteRead
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
File "C:\User\name\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\packages\six.py", line 199, in load_module
mod = mod._resolve()
File "C:\User\name\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\packages\six.py", line 113, in _resolve
return _import_module(self.mod)
File "C:\User\name\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\packages\six.py", line 82, in _import_module
__import__(name)
File "C:\scripts\http.py", line 5, in <module>
r.post(url, json=jsons, headers=headers)
AttributeError: partially initialized module 'requests' has no attribute 'post' (most likely due to a circular import)
Run Code Online (Sandbox Code Playgroud)
当我关闭命令行并启动一个新命令行然后进入时,python我可以导入它:
C:\Windows\system32>python
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> requests.post
<function post at 0x000001A4F7B9D310>
>>>
Run Code Online (Sandbox Code Playgroud)
当我执行脚本时会发生同样的事情(仅有时) - 有时它确实有效。(顺便说一句,当它工作时,它也会像它应该的那样发布到服务器)
有没有人遇到过类似的问题并可能想出解决方案?顺便说一句,Python 3 是我在这台机器上安装的唯一 Python 版本 - 但在其他机器上也面临类似的问题!
Tus*_*har 13
循环依赖:当两个或多个模块相互依赖时就会发生循环依赖。这是因为每个模块都是根据另一个模块来定义的。
如果您收到类似于以下请求模块错误的循环导入错误。
AttributeError: partially initialized module 'requests' has no attribute 'post' (most likely due to a circular import)
Run Code Online (Sandbox Code Playgroud)
Please try to rename the file.此错误通常是由于与您尝试导入requests模块的文件名冲突所致。
我也遇到了同样的问题,我的文件名在哪里email.py,我试图导入请求模块。所以,它与 发生了一些冲突email.parser。因此,我将文件名从 更改为email.py并email1.py成功了。
有关循环依赖的更多信息:https ://stackabuse.com/python-circular-imports/
| 归档时间: |
|
| 查看次数: |
9214 次 |
| 最近记录: |