Tool/software: Linux
Hello, I'm working on porting a Python 3 application to the AM572x EVM running PSDK 4.1, and I'm having issues installing a required library. My application was written for Python 3.5.2, which is the same version of Python that is built into PSDK 4.1, however my application uses the asyncio package, which I'm having trouble running on the EVM. I've used Yocto to add Pip to both Python 3.x and 2.7 by adding
IMAGE_INSTALL_append += ' python3-pip' and IMAGE_INSTALL_append += ' python-pip'
Now I can download and install asyncio, and the other package I need (pyserial). But when I try to run my application, I'm notified that the multiprocessing package is not installed. Multiprocessing has been a standard Python library since Python 2.6, and I cannot seem to install it to Python 3 using Pip due to a syntactical error in multiprocessing. It does however install to Python 2.7 using Pip, but doesn't run in 3.5.2.
Is there a way that I can configure Yocto to have all of the default Python 3 packages?
This is the error I'm receiving when I try to run my application:
# python3 application.py
Traceback (most recent call last):
File "application.py", line 1, in <module>
import asyncio
File "/usr/lib/python3.5/site-packages/asyncio/__init__.py", line 21, in <module>
from .base_events import *
File "/usr/lib/python3.5/site-packages/asyncio/base_events.py", line 18, in <module>
import concurrent.futures
File "/usr/lib/python3.5/concurrent/futures/__init__.py", line 17, in <module>
from concurrent.futures.process import ProcessPoolExecutor
File "/usr/lib/python3.5/concurrent/futures/process.py", line 53, in <module>
import multiprocessing
ImportError: No module named 'multiprocessing'
And the result from 'python3 -m pip install multiprocessing'
# python3 -m pip install multiprocessing
Collecting multiprocessing
Using cached multiprocessing-2.6.2.1.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-g61imd80/multiprocessing/setup.py", line 94
print 'Macros:'
^
SyntaxError: Missing parentheses in call to 'print'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-g61imd80/multiprocessing/
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.