当我尝试使用buildozer构建apk时,如何导入urllib.request?

2024-04-18 09:15:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用kivy/python构建一个应用程序。我的所有导入都在buildozer.spec要求中。当我添加urlliburllib.request时,我得到以下错误:

ould not fetch URL https://pypi.org/simple/urllib-request/: 404 Client Error: Not Found for url: https://pypi.org/simple/urllib-request/ - skipping
Given no hashes to check 0 links for project 'urllib.request': discarding no candidates
ERROR: Could not find a version that satisfies the requirement urllib.request (from -r requirements.txt (line 2)) (from versions: none)
Cleaning up...
Removed build tracker '/tmp/pip-req-tracker-w7phib4l'
ERROR: No matching distribution found for urllib.request (from -r requirements.txt (line 2))
Exception information:
Traceback (most recent call last):
  File "/home/casper/Desktop/Myapp/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 153, in _main
    status = self.run(options, args)
  File "/home/casper/Desktop/Myapp/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 382, in run
    resolver.resolve(requirement_set)
  File "/home/casper/Desktop/Myapp/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/legacy_resolve.py", line 201, in resolve
    self._resolve_one(requirement_set, req)
  File "/home/casper/Desktop/Myapp/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/legacy_resolve.py", line 365, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/casper/Desktop/Myapp/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/legacy_resolve.py", line 311, in _get_abstract_dist_for
    req.populate_link(self.finder, upgrade_allowed, self.require_hashes)
  File "/home/casper/Desktop/Myapp/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/req/req_install.py", line 225, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/home/casper/Desktop/Myapp/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/index.py", line 906, in find_requirement
    'No matching distribution found for %s' % req
pip._internal.exceptions.DistributionNotFound: No matching distribution found for urllib.request (from -r requirements.txt (line 2))

出什么事了?如何在代码中使用urllib.request?谢谢


Tags: pipbuildhomeforrequestlineurllibreq
2条回答

urllib是一个标准库,因此您不必在requirements.txt中安装它

只需在代码中编写:

import urllib

from urllib.request import urlopen

Kivy有自己的请求/结果实现 也许您可以使用它来代替urllib进行请求/响应

https://kivy.org/doc/stable/api-kivy.network.urlrequest.html

相关问题 更多 >