This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/processor-SDK-AM57X:添加 Python 软件包

Guru**** 2614265 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/658611/linux-processor-sdk-am57x-adding-python-packages

器件型号:PROCESSOR-SDK-AM57X

工具/软件:Linux

大家好、我正在努力将 Python 3应用程序移植到运行 PSDK 4.1的 AM572x EVM、并且在安装所需库时遇到问题。  我的应用程序是为 Python 3.0.2编写的、与 PSDK 4.1中内置的 Python 版本相同、但我的应用程序使用了 asyncio 软件包、在 EVM 上运行时遇到了问题。  我使用 Yocto 通过添加将 PIP 添加到 Python 3.x 和2.7中

image_install_append +=' python3-pip'和 image_install_append +=' python-pip'

现在、我可以下载并安装 asyncio 以及我需要的另一个软件包(pyserial)。  但是、当我尝试运行应用程序时、系统会通知我安装多处理软件包。    Python 2.6以来、多处理一直是一个标准 Python 库、由于 多处理中存在语法错误、我似乎无法使用 PIP 将其安装到 Python 3中。 但是、它确实使用  PIP 安装到 Python 2.7、但在3.4.2中不运行。

是否有方法可以将 Yocto 配置为具有所有默认的 Python 3软件包?

这是我尝试运行应用程序时收到的错误:

# python3 application.py
回溯(最近一次调用最后一次):
 文件"application.py"、第1行、在中
   导入异步
 文件"/usr/lib/python3.5/site-packages/asyncio/__init__.py、第21行、在中
   从.base_events 导入*
 文件"/usr/lib/python3.5/site-packages/asyncio/base_events.py、第18行、在中
   导入并发期货
 文件"/usr/lib/python3.5/concurrent/futures/__init__.py、第17行、在中
   从 concurrent.futures.process 导入 ProcessPoolExecutor
 文件"/usr/lib/python3.5/concurrent/futures/process.py、第53行、在中
   导入多处理
ImportError:没有名为“多处理”的模块


以及'python3 -m pip install multiprocessing"的结果

# python3 -m pip 安装多处理
正在收集多处理
 使用缓存的 multiprocessing-2.6.2.1.tar.gz
   命令 python setup.py ege_info 的完整输出:
   回溯(最近一次调用最后一次):
     文件" "、第1行、输入
     文件"/tmp/pip-build-g61imd80/multiprocessing/setup.py、第94行
       打印"宏:"
                     ^μ A
   SyntaxError:调用'print'时缺少括号

   --------------------------------------
命令"python setup.py eg_finfo"失败、/tmp/pip-build-g61imd80/multiprocessing 中出现错误代码1
您使用的是 pip 版本8.1.2、但版本9.0.1可用。
您应该考虑通过'pip install --upgrade pip'命令进行升级。


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tom、

    您的电路板上已经安装了 python 2多处理。 要为 python 3安装多处理、请执行 MACHINE=am57xx-EVM bitbake python3-多处理并安装 /build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/python3 /deploy-ipks/armv7ahf-neon/python3-multiprocessing_ _armv7ahf-none.ipk 添加到您的目标。

    注:您需要安装 /build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/python3 /deploy-ipks/armv7ahf-neon/python3-mmap_ _armv7ahf-none.ipk 也是如此、因为 python3-multiprocessing 依赖于它。

    此致、
    Kemal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以这样安装所有标准 Python 3模块? 或者是否有更简洁的选项?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、这是可能的。 这是我们最方便和唯一支持的方法。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常好、我将把它标记为解决方案。