[MacPorts] #61282: python39 @3.9.0+universal does not work
MacPorts
noreply at macports.org
Wed Oct 7 01:26:11 UTC 2020
#61282: python39 @3.9.0+universal does not work
------------------------+----------------------
Reporter: ryandesign | Owner: jmroot
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.6.99
Keywords: | Port: python39
------------------------+----------------------
python39 installs with or without the universal variant, but when
installed with the universal variant, it doesn't work. This is a
regression from python38 and earlier versions which work fine universal or
not.
For example when python39 is installed universal, py39-setuptools fails to
build:
{{{
Traceback (most recent call last):
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py",
line 73, in <module>
import msvcrt
ModuleNotFoundError: No module named 'msvcrt'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/local/var/macports/build/_Users_rschmidt_macports_macports-
ports-ryandesign-fork_python_py-
setuptools/py39-setuptools/work/setuptools-50.3.0/setup.py", line 10, in
<module>
import setuptools
File "/opt/local/var/macports/build/_Users_rschmidt_macports_macports-
ports-ryandesign-fork_python_py-
setuptools/py39-setuptools/work/setuptools-50.3.0/setuptools/__init__.py",
line 10, in <module>
import distutils.core
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/core.py",
line 16, in <module>
from distutils.dist import Distribution
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/dist.py",
line 19, in <module>
from distutils.util import check_environ, strtobool, rfc822_escape
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/util.py",
line 14, in <module>
from distutils.spawn import spawn
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/spawn.py",
line 11, in <module>
import subprocess
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py",
line 78, in <module>
import _posixsubprocess
ModuleNotFoundError: No module named '_posixsubprocess'
}}}
This can be reproduced easily at the command line:
{{{
$ python3.9
Python 3.9.0 (default, Oct 6 2020, 19:05:10)
[Clang 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
Traceback (most recent call last):
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py",
line 73, in <module>
import msvcrt
ModuleNotFoundError: No module named 'msvcrt'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py",
line 78, in <module>
import _posixsubprocess
ModuleNotFoundError: No module named '_posixsubprocess'
>>> ^D
}}}
Examining the contents of python39, I see that when it is installed non-
universal, it contains the file:
{{{
/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/lib-dynload/_posixsubprocess.cpython-39-darwin.so
}}}
But when it is installed universal, that file name contains "failed":
{{{
/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/lib-dynload/_posixsubprocess.cpython-39-darwin_failed.so
}}}
There are many other "failed" files in the universal install.
--
Ticket URL: <https://trac.macports.org/ticket/61282>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list