[OE-core] [PATCH 3/3] python3: Fix purelib install and runtime paths

Jason Wessel jason.wessel at windriver.com
Tue Mar 13 03:08:26 UTC 2018


oe-core commit: 45afadf0b6 fixed the pip problem with purelib for
python2, even though the the patch stated it was for python3.  This
patch addresses the purelib problem for python3.

If you install the package python3-pip you will have a pip3 binary
where you can see the problem on the device easily where the modules
install into the incorrect area and are not able to be referenced by
python3 at all.

Example error:
   pip3 install imutils
   pip3 list |grep imutils || echo ERROR no imutils
      ERROR no imutils
   python3 -c 'import imutils'
     Traceback (most recent call last):
       File "<string>", line 1, in <module>
     ImportError: No module named 'imutils'

Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
---
 .../python/python3/python-3.3-multilib.patch        | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/meta/recipes-devtools/python/python3/python-3.3-multilib.patch b/meta/recipes-devtools/python/python3/python-3.3-multilib.patch
index 77da615..cc35dc1 100644
--- a/meta/recipes-devtools/python/python3/python-3.3-multilib.patch
+++ b/meta/recipes-devtools/python/python3/python-3.3-multilib.patch
@@ -52,11 +52,13 @@ Index: Python-3.5.4/Lib/distutils/command/install.py
  WINDOWS_SCHEME = {
      'purelib': '$base/Lib/site-packages',
      'platlib': '$base/Lib/site-packages',
-@@ -30,7 +32,7 @@ WINDOWS_SCHEME = {
+@@ -29,8 +31,8 @@ WINDOWS_SCHEME = {
+ 
  INSTALL_SCHEMES = {
      'unix_prefix': {
-         'purelib': '$base/lib/python$py_version_short/site-packages',
+-        'purelib': '$base/lib/python$py_version_short/site-packages',
 -        'platlib': '$platbase/lib/python$py_version_short/site-packages',
++        'purelib': '$platbase/'+libname+'/python$py_version_short/site-packages',
 +        'platlib': '$platbase/'+libname+'/python$py_version_short/site-packages',
          'headers': '$base/include/python$py_version_short$abiflags/$dist_name',
          'scripts': '$base/bin',
@@ -103,10 +105,11 @@ Index: Python-3.5.4/Lib/sysconfig.py
      'posix_prefix': {
 -        'stdlib': '{installed_base}/lib/python{py_version_short}',
 -        'platstdlib': '{platbase}/lib/python{py_version_short}',
+-        'purelib': '{base}/lib/python{py_version_short}/site-packages',
+-        'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
 +        'stdlib': '{installed_base}/'+sys.lib+'/python{py_version_short}',
 +        'platstdlib': '{platbase}/'+sys.lib+'/python{py_version_short}',
-         'purelib': '{base}/lib/python{py_version_short}/site-packages',
--        'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
++        'purelib': '{platbase}/'+sys.lib+'/python{py_version_short}/site-packages',
 +        'platlib': '{platbase}/'+sys.lib+'/python{py_version_short}/site-packages',
          'include':
              '{installed_base}/include/python{py_version_short}{abiflags}',
@@ -117,10 +120,11 @@ Index: Python-3.5.4/Lib/sysconfig.py
      'posix_home': {
 -        'stdlib': '{installed_base}/lib/python',
 -        'platstdlib': '{base}/lib/python',
+-        'purelib': '{base}/lib/python',
+-        'platlib': '{base}/lib/python',
 +        'stdlib': '{installed_base}/'+sys.lib+'/python',
 +        'platstdlib': '{base}/'+sys.lib+'/python',
-         'purelib': '{base}/lib/python',
--        'platlib': '{base}/lib/python',
++        'purelib': '{base}/'+sys.lib+'/python',
 +        'platlib': '{base}/'+sys.lib+'/python',
          'include': '{installed_base}/include/python',
          'platinclude': '{installed_base}/include/python',
@@ -131,10 +135,11 @@ Index: Python-3.5.4/Lib/sysconfig.py
      'posix_user': {
 -        'stdlib': '{userbase}/lib/python{py_version_short}',
 -        'platstdlib': '{userbase}/lib/python{py_version_short}',
+-        'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
+-        'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
 +        'stdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
 +        'platstdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
-         'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
--        'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
++        'purelib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages',
 +        'platlib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages',
          'include': '{userbase}/include/python{py_version_short}',
          'scripts': '{userbase}/bin',
-- 
2.7.4




More information about the Openembedded-core mailing list