我是Python的新手,现在我正尝试将Python用于自动化任务之一。
在尝试执行Execute.py
的同时,我了解到我的python安装程序应该具有模块requests
(因此下载了2.21.0),urllib3
(因此下载了1.21.1) ),chardet
(已下载3.0.4)。
我的Python版本是3.7.3
执行execute.py
时出现以下错误:
File "C:\Users\ABC\Downloads\python-3.7.3-embed-amd64\requests\__init__.py", line 87, in <module>
check_compatibility(urllib3.__version__, chardet.__version__)
AttributeError: module 'urllib3' has no attribute '__version__'
因此,就像在chardet文件夹中一样,我在version.py
文件夹下创建了一个urllib3
。
但是,我仍然遇到相同的错误。
请,有人可以帮我吗?我花了很多时间才能找到解决方法。
答案 0 :(得分:1)
您应该使用pip
安装您的库,它将处理依赖项。看来您的urllib3不是最新的...
打开命令提示符,然后运行:
pip install requests --upgrade
答案 1 :(得分:1)
您可以通过 pip卸载和 pip install 卸载并重新安装所有必需的软件包。
您还可以将所有指定的软件包升级到最新的可用版本。依赖项的处理取决于所使用的升级策略(为此需要命令)。
pip install --upgrade
答案 2 :(得分:0)
我的答案大概是我可能出错了。(以上两个答案都没错)
我已经安装了可执行的Python,但我在其中具有PIP(尽管其3.7版本)
所以我一直在努力安装PIP和所有其他模块(因为我是新来的)
所以---我曾经使用过基于Web的安装(https://www.python.org/downloads/release/python-373/)
具有PIP并可以随时随地设置Python PATH,我可以使用它升级所需的模块,就像在此回答的其他模块一样。
余下的工作很方便,我在执行时会遇到任何问题。
谢谢
答案 3 :(得分:0)
我遇到了同样的请求问题。当两个或多个模块相互依赖时,就会发生循环依赖。这是因为每个模块都是根据另一个模块定义的。
请尝试重命名您的文件。此错误的错误通常是由于与您尝试导入请求模块的文件名冲突。
我也遇到了同样的问题,我的文件名为 token.py,我试图导入请求模块。我更改了文件名,它起作用了。