Debian 9.4服务器
krogoth
,BitBake Build Tool Core version 1.30.0
devtool
它们应该是硬件上的python3.5包
我想为以下各项创建配方:
我在我的$BUILD_DIR
中使用以下步骤:
devtool add pynmea2 https://github.com/Knio/pynmea2/archive/v1.7.1.tar.gz
devtool add influxdb-python https://github.com/influxdata/influxdb-python/archive/v5.2.0.tar.gz
我从工具上得到食谱。我将所有运行时依赖项的RDEPENDS_${PN} += "python-re"
更改为RDEPENDS_${PN} += "${PYTHON_PN}-re"
,并将这些信息转移到它们各自的.inc
文件中。下面的Github要点中提到了这些文件
Gists for pynmea2 and influxdb-python
对于本地测试,我将这些配方从workspace
文件夹(由devtool
自动创建)添加到local.conf
下的`IMAGE_INSTALL_append=“infuxdb python pynmea2”
为硬件烧录图像。在
在板上,我运行python3
shell,看看是否可以导入这些包。下面是shell的输出:
pynmea2:
Python 3.5.1 (default, Sep 25 2018, 19:27:54)
[GCC 5.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pynmea2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.5/site-packages/pynmea2/__init__.py", line 13, in <module>
from .types import *
File "/usr/lib/python3.5/site-packages/pynmea2/types/__init__.py", line 3, in <module>
from .talker import *
File "/usr/lib/python3.5/site-packages/pynmea2/types/talker.py", line 3, in <module>
from ..nmea_utils import *
File "/usr/lib/python3.5/site-packages/pynmea2/nmea_utils.py", line 2, in <module>
import datetime
ImportError: No module named 'datetime'
influxdb python:
^{pr2}$如果我在板上运行python
命令并尝试import datetime
,那么该模块存在。在
有什么问题吗?为什么datetime
不能作为python 3.5
的模块使用?在
{ 我还显式地在 清单文件中已经有IMAGE_INSTALL_append = " python3 python3-dev python3-enum pynmea2 influxdb-python python3-pyserial "
编辑
local.conf
文件中添加了IMAGE_INSTALL_append = " python3-datetime"
。但还是同样的错误。在python-3.5-manifest.inc
SUMMARY_${PN}-modules="All Python modules"
RDEPENDS_${PN}-modules="${PN}-2to3 ${PN}-argparse ${PN}-asyncio ${PN}-audio ${PN}-codecs ${PN}-compile ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-difflib ${PN}-distutils ${PN}-doctest ${PN}-email ${PN}-enum ${PN}-fcntl ${PN}-gdbm ${PN}-html ${PN}-idle ${PN}-image ${PN}-importl
ib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-reprlib ${PN}-resource ${PN}-selectors ${PN}-shell ${PN}-signal ${PN}-smtpd ${PN}-sqlit
e3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc "
ALLOW_EMPTY_${PN}-modules = "1"
datetime
?如果有必要,我应该在文件中更改什么?(是否应该将其添加到meta-custom
层中?)在
解决方案
我看到了This particular blogpost的一个小片段,其中提到在
INSTALL_IMAGE_append
中使用python-modules
。在在看过问题中提到的}将为我的应用程序提供运行所需的所有基本模块。在
python-3.5-manifest.inc
文件之后,我发现{试验
因此,在
local.conf
文件中,我添加了IMAGE_INSTALL_appends = " python3-modules"
,并在硬件上加载了映像。这件事做得很好。在现在在python3shell中,我没有收到任何
datetime
模块错误。在现在是
local.conf
的代码段这个很好用。在
p、 s.
我现在不确定我是否应该在}的配方。在
RDEPENDS_${PN}
中添加${PYTHON_PN}-modules
作为influxdb-python
和{更新
我更新了GitHub gists,它现在在
RDEPENDS
中添加了${PYTHON_PN}-modules
,它在板上工作。在退税
据我所知,添加
python3-modules
会增加映像占用空间,因为它需要在rootfs中添加很多模块。但这些模块似乎对运行多种类型的应用程序很重要,因此它也有好处。在查看
source/poky/meta/recipes-devtools/python/python-3.5-manifest.inc
中的python-3.5-manifest.inc
文件尝试使用以下内容显式地拉入python datetime:
IMAGE_INSTALL_append += "python3-datetime"
相关问题 更多 >
编程相关推荐