2017-08-17 64 views
2

我创建了一个bitbake配方,用于安装https://pypi.python.org/pypi/Adafruit-GPIO/1.0.3 python软件包。以下是我的食谱SRC_URI不工作在bitabake配方

DESCRIPTION = "Library to provide a cross-platform GPIO interface on the Raspberry Pi and Beaglebone Black using the RPi.GPIO and Adafruit_BBIO libraries" 
SECTION = "devel/python" 
LICENSE = "CLOSED" 

PR = "r1" 

SRC_URI = "https://pypi.python.org/packages/db/1c/2dc8a674514219f287fa344e44cadfd77b3e2878d6ff602a8c2149b50dd8/Adafruit_GPIO-1.0.3.tar.gz" 

inherit pypi setuptools 

do_install_append() { 
    rm -f ${D}${libdir}/python*/site-packages/site.py* 
} 

do_compile_prepend() { 
    ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_BUILD_ARGS} || \ 
    true 
} 
SRC_URI[md5sum] = "dfcdb1ba90188d18ba80b6d2958c8c33" 

但每当我试图BitBake的食谱,我总是收到以下错误

ERROR: Function failed: Fetcher failure for URL: 'https://pypi.python.org/packages/source/A/Adafruit-GPIO/Adafruit-GPIO-1.0.3.tar.gz'. Unable to fetch URL from any source 

我的问题为什么bitbake的尝试从其他一些链接下载,而我在SRC_URI其他一些链接?我该如何纠正我的食谱>

回答

4

这是pypi.bbclass指定另一个下载URL。

因此,无论

  • 删除inherit pypi

  • 删除您SRC_URI。在这种情况下,您还需要在pypi中将PYPI_PACKAGE = "Adafruit-GPIO"设置为正确的包名称(因为您的配方名称中包含-而不是_)。

pypi.bbclass

你的食谱中的未经测试的版本,至少建立在我的系统是adafruit-gpio_1.0.3.bb(注意,在配方名存实亡小写字母):

DERIPTION = "Library to provide a cross-platform GPIO interface on the Raspberry Pi and Beaglebone Black using the RPi.GPIO and Adafruit_BBIO libraries" 
SECTION = "devel/python" 
LICENSE = "MIT" 
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=e41c52dbe1b96447d1c50129a124f586" 

SRC_URI[md5sum] = "dfcdb1ba90188d18ba80b6d2958c8c33" 
SRC_URI[sha256sum] = "d6465b92c866c51ca8f3bc1e8f2ec36f5ccdb46d0fd54101c1109756d4a2dcd0" 

PYPI_PACKAGE = "Adafruit_GPIO" 
inherit pypi setuptools 
+0

谢谢您的回答。还有一个问题,我如何才能找到正确的软件包名称。例如,https://pypi.python.org/pypi/Adafruit-ADS1x15/1.0.2为此,我正在使用PYPI_PACKAGE =“Adafruit-ADS1x15”,但ut显示fetcg错误。即使PYPI_PACKAGE =“Adafruit_ADS1x15”在这种情况下也不起作用。 – prattom

+0

你不会告诉我哪里出了问题。不过,我刚刚修改了您的示例,至少为我打造。看到我编辑的答案。 – Anders

+0

谢谢,我现在明白我犯了什么错误 – prattom