我正在尝试将python3 3函数模块集成到buildroot中。我可以用make menuconfig选择它,但是当我运行make时,包甚至没有下载。
这个包可以在这里获得:函数0.3 0.3 pypi页
以及下载网址:函数0.3 0.3下载链接
这里还有github :我使用的是Buildroot 2017.02版本的函数git存储库。
这是我的Config.in文件:
config BR2_PACKAGE_PYTHON3_FUNCTIONFS
bool "python3-functionfs"
depends on BR2_PACKAGE_PYTHON3
help
Pythonic API for linux’s functionfs.
functionfs is part of the usb gadget subsystem. Together with usb_gadget’s configfs integration, allows userland to declare and implement an USB device.
https://pypi.python.org/pypi/functionfs这是我的.mk文件:
################################################################################
#
# python3-functionfs
#
################################################################################
PYTHON_FUNCTIONFS_VERSION = 0.3
PYTHON_FUNCTIONFS_SOURCE = functionfs-$(PYTHON_FUNCTIONFS_VERSION).tar.gz
PYTHON_FUNCTIONFS_SITE = https://pypi.python.org/packages/e3/2d/56e0d9ffe0da7c116a6724ee538375689dd59e34dbe1676edf6b66b52be4
PYTHON_FUNCTIONFS_LICENSE = GPLv3+
PYTHON_FUNCTIONFS_LICENSE_FILE = COPYING
PYTHON_FUNCTIONFS_SETUP_TYPE = setuptools
$(eval $(python-package))文档还在17.8.3中提到。从PyPI存储库生成python包
如果您想要为其创建一个Buildroot包的Python包在PyPI上可用,那么您可能希望使用位于utils/中的scanpypi工具来自动化这个过程。 您可以在这里找到现有PyPI包的列表。 scanpypi要求在主机上安装Python的setuptools包。 当位于buildroot目录的根目录时,只需执行以下操作:
utils/scanpypi foo bar -o package这将生成包文件夹中的python和python包,如果它们存在于https://pypi.python.org上。 找到外部python模块菜单并将包插入其中。请记住,菜单中的项目应按字母顺序排列。 请记住,您很可能需要手动检查包中的任何错误,因为生成器无法猜到一些事情(例如,依赖于任何python核心模块(如BR2_PACKAGE_PYTHON_ZLIB) )。此外,请注意,许可证和许可证文件是猜测的,必须检查。您还需要手动将包添加到包/Config.in文件中。 如果Buildroot包不在官方Buildroot树中,而是在BR2-外部树中,请使用-o标志,如下所示:utils/scanpypi foo bar -o other_package_dir这将在other_package_directory中而不是在包中生成包python和python。 选项-h将列出可用的选项:utils/scanpypi -h
但是,在buildroot主目录中没有util/文件夹。脚本位于support/scripts/scanpypi,但当我运行它时,我有以下错误:
$ support/scripts/scanpypi functionfs -o package
Traceback (most recent call last):
File "support/scripts/scanpypi", line 47, in <module>
import setuptools
File "/usr/local/lib/python2.7/dist-packages/setuptools/__init__.py", line 11, in <module>
from setuptools.extern.six.moves import filterfalse, map
File "/usr/local/lib/python2.7/dist-packages/setuptools/extern/__init__.py", line 1, in <module>
from pkg_resources.extern import VendorImporter
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 40, in <module>
from pkgutil import get_importer
ImportError: cannot import name get_importer这可以通过重命名support/scripts/pkgutil.py和support/scripts/pkgutil.pyc来解决。
不过,我想了解一下,当我自己创建这个包时,它不会下载,会发生什么情况。
有人知道为什么在运行make时函数函数-0.3.tar.gz不被下载吗?
发布于 2018-01-12 07:54:35
您的包没有下载,因为您的包名与.mk文件中变量的名称不匹配。基本上,你有三个必须匹配的东西:
BR2_PACKAGE_<FOO>选项在Config.in中package/<foo>/<foo>.mk。<FOO>_SOMETHING您没有说明.mk文件的名称,但至少您的选项是BR2_PACKAGE_PYTHON3_FUNCTIONFS,而make变量的名称是PYTHON_FUNCTIONFS_SOMETHING。
这解释了为什么它没有被下载。
然后,关于scanpypi脚本,它肯定在最近版本的Buildroot的utils/目录中。它曾在几个版本前出现在support/scripts中。因此,基本上您是在查看在线的Buildroot文档(并与最新版本相匹配),但您使用的是一个较旧的Buildroot版本。您可以通过运行make manual-html构建与Buildroot发行版相匹配的Buildroot文档。
https://stackoverflow.com/questions/48212572
复制相似问题