为什么我收到错误消息“找不到满足 Cython 要求的版本”

问题描述 投票:0回答:3

我想实现什么目标?

我正在尝试完成使用 kivy 制作 Android 应用程序的教程,其中 buildozer 在 Windows 10 内的 Ubuntu VirtualBox 中运行(本教程的说明:https://www.youtube.com/watch?v=EupAeyL8zAo)并运行该应用程序在我的移动设备上。

我哪里有问题?

我已经尝试过五次了,在运行命令

buildozer android debug deploy run
(从项目文件夹内)后出现此错误:

我尝试过什么来解决这个问题?

  • 我将 cython 安装到了我的 Windows 10(带有
    pip install Cython
    pip3 install Cython
    )和 VirtualBox 中的 Ubunu。每次我都得到
    Requirement already satisfied...
  • 我在 Windows 10 安装 Cython 后启动了新的 VirtualBox 环境。
  • 我尝试遵循这些说明/命令:https://stackoverflow.com/a/68452164/14694631

PS

在很多帖子中我看到人们要求提供完整的日志。在阅读了有关此主题的许多问题后,我仍然对完整日志的实际含义一无所知。如果提供的错误消息不是正确的部分,如果可以的话,我也可以尝试获取完整的日志。另外,我是 Kivy、buildozer 和 VirtualBox 的新手,之前从未使用过 ubuntu 进行开发。

ubuntu kivy virtualbox cython buildozer
3个回答
2
投票

我以前见过类似的错误,似乎在安装 python 时,一些基本模块,

ssl
,没有并且丢失了。

问题

在构建期间尝试下载

Cython

 时,
pip 似乎失败,因为它需要 python 中不可用的
ssl
模块

解决方案

重新安装Python3,因为它似乎没有安装重要的库(

ssl
)。

您可以使用这个问题来帮助修复 pip 中的 ssl 错误,然后您应该重试构建

要重新安装 python,它说:

  1. 运行

    sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
    获取依赖项

  2. https://www.python.org/ftp/python/下载“Python-3.x.x.tar.xz”(您选择的版本)并将其解压到您的主目录中。

  3. 在该目录中打开终端并运行:

    ./configure

  4. 构建并安装:

    make && sudo make install

重新安装 python 后,通过运行

pip install --upgrade pip

检查 pip 是否工作

如果您需要更多说明,请发表评论。


0
投票

我在教程的评论中找到了修复。

  1. sudo apt install libssl-dev
  2. rm -rf .buildozer
  3. 再次部署应用程序

以下是教程制作者 Erik Sanberg 的完整评论:

在包含 buildozer.spec 文件的目录中尝试

sudo apt install libssl-dev
,然后按
rm -rf .buildozer
。然后您可以尝试再次部署它。这是最近引入的一个错误,我相信很快就会被修复。

来源:https://www.youtube.com/watch?v=EupAeyL8zAo


0
投票

当我尝试安装 mobsf 时,我遇到了同样的问题。这是我设法解决它的方法:

首先,找到

oscrypto/version.py
并检查
__version__
的值是多少。

然后,将其硬编码在里面

oscrypto/_openssl/_libcrypto_cffi.py
, 找到名为
version_string
的变量的设置位置,注释该链接并设置
version_string = "THE VALUE YOU FOUND INSIDE version.py"

请注意,这可能不是最好的解决方案,但在尝试了上述所有答案后,它对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.