[BUG]
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.9k
- Forks
- 1.4k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 1
Description
setuptools version
setuptools==61.2.0
Python version
3.9.12 (Anoconda Python)
OS
Ubuntu 22.04
Additional environment information
No response
Description
Installing https://github.com/expyriment/expyriment by running pip install . in the source dir spits an error message:
ImportError: cannot import name 'install_scripts' from 'setuptools._distutils.command' (/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/command/init.py)
setuptools__version__==61.2.0 and distutils.version==3.9.12
(With earlier versions of setuptools (52.0.0) and distutils (3.8.8), under Ubuntu 20.04, there is not such a problem)
Expected behavior
the expyriment wheel should be created.
How to Reproduce
Download and run Anaconda installer (Anaconda3-2022.05-Linux-x86_64.sh)
conda install setuptools
or
pip install setuptools
git clone https://github.com/expyriment/expyriment.git
cd expyriment
pip install .
Output
(base) chrplr@i156478:~/git$ pip install setuptools
Requirement already satisfied: setuptools in /home/chrplr/anaconda3/lib/python3.9/site-packages (61.2.0)
(base) chrplr@i156478:~/git$ git clone https://github.com/expyriment/expyriment.git
Cloning into 'expyriment'...
remote: Enumerating objects: 8761, done.
remote: Counting objects: 100% (459/459), done.
remote: Compressing objects: 100% (172/172), done.
remote: Total 8761 (delta 289), reused 447 (delta 283), pack-reused 8302
Receiving objects: 100% (8761/8761), 8.34 MiB | 2.49 MiB/s, done.
Resolving deltas: 100% (6552/6552), done.
(base) chrplr@i156478:~/git$ cd expyriment/
(base) chrplr@i156478:~/git/expyriment$ pip install .
Processing /home/chrplr/git/expyriment
DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.
pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.
Requirement already satisfied: pygame<3,>=1.9 in /home/chrplr/anaconda3/lib/python3.9/site-packages (from expyriment===0.10.0-41-g4df41a1) (2.1.2)
Requirement already satisfied: pyopengl<4,>=3.0 in /home/chrplr/anaconda3/lib/python3.9/site-packages (from expyriment===0.10.0-41-g4df41a1) (3.1.6)
Building wheels for collected packages: expyriment
Building wheel for expyriment (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/chrplr/anaconda3/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-bisduypw/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-bisduypw/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-kv47lpfr
cwd: /tmp/pip-req-build-bisduypw/
Complete output (167 lines):
/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/dist.py:530: UserWarning: The version specified ('0.10.0-41-g4df41a1') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.
warnings.warn(
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/expyriment
copying expyriment/_internals.py -> build/lib/expyriment
copying expyriment/__init__.py -> build/lib/expyriment
copying expyriment/cli.py -> build/lib/expyriment
copying expyriment/_api_reference_tool.py -> build/lib/expyriment
creating build/lib/expyriment/control
copying expyriment/control/_miscellaneous.py -> build/lib/expyriment/control
copying expyriment/control/__init__.py -> build/lib/expyriment/control
copying expyriment/control/_experiment_control.py -> build/lib/expyriment/control
copying expyriment/control/_test_suite.py -> build/lib/expyriment/control
copying expyriment/control/defaults.py -> build/lib/expyriment/control
creating build/lib/expyriment/io
copying expyriment/io/_gamepad.py -> build/lib/expyriment/io
copying expyriment/io/_touchscreenbuttonbox.py -> build/lib/expyriment/io
copying expyriment/io/_streamingbuttonbox.py -> build/lib/expyriment/io
copying expyriment/io/_keyboard.py -> build/lib/expyriment/io
copying expyriment/io/_input_output.py -> build/lib/expyriment/io
copying expyriment/io/_markeroutput.py -> build/lib/expyriment/io
copying expyriment/io/_files.py -> build/lib/expyriment/io
copying expyriment/io/__init__.py -> build/lib/expyriment/io
copying expyriment/io/_eventbuttonbox.py -> build/lib/expyriment/io
copying expyriment/io/_textmenu.py -> build/lib/expyriment/io
copying expyriment/io/_mouse.py -> build/lib/expyriment/io
copying expyriment/io/_screen.py -> build/lib/expyriment/io
copying expyriment/io/_textinput.py -> build/lib/expyriment/io
copying expyriment/io/_serialport.py -> build/lib/expyriment/io
copying expyriment/io/_triggerinput.py -> build/lib/expyriment/io
copying expyriment/io/defaults.py -> build/lib/expyriment/io
creating build/lib/expyriment/io/extras
copying expyriment/io/extras/__init__.py -> build/lib/expyriment/io/extras
creating build/lib/expyriment/io/_parallelport
copying expyriment/io/_parallelport/__init__.py -> build/lib/expyriment/io/_parallelport
copying expyriment/io/_parallelport/_inpout32.py -> build/lib/expyriment/io/_parallelport
copying expyriment/io/_parallelport/_dlportio.py -> build/lib/expyriment/io/_parallelport
copying expyriment/io/_parallelport/_linux.py -> build/lib/expyriment/io/_parallelport
creating build/lib/expyriment/misc
copying expyriment/misc/_miscellaneous.py -> build/lib/expyriment/misc
copying expyriment/misc/_buffer.py -> build/lib/expyriment/misc
copying expyriment/misc/__init__.py -> build/lib/expyriment/misc
copying expyriment/misc/_csv_reader_android.py -> build/lib/expyriment/misc
copying expyriment/misc/_secure_hash.py -> build/lib/expyriment/misc
copying expyriment/misc/_clock.py -> build/lib/expyriment/misc
copying expyriment/misc/constants.py -> build/lib/expyriment/misc
copying expyriment/misc/_timer.py -> build/lib/expyriment/misc
copying expyriment/misc/_colour.py -> build/lib/expyriment/misc
copying expyriment/misc/_get_system_info.py -> build/lib/expyriment/misc
copying expyriment/misc/defaults.py -> build/lib/expyriment/misc
creating build/lib/expyriment/misc/extras
copying expyriment/misc/extras/__init__.py -> build/lib/expyriment/misc/extras
creating build/lib/expyriment/misc/data_preprocessing
copying expyriment/misc/data_preprocessing/_data_preprocessing.py -> build/lib/expyriment/misc/data_preprocessing
copying expyriment/misc/data_preprocessing/__init__.py -> build/lib/expyriment/misc/data_preprocessing
creating build/lib/expyriment/misc/geometry
copying expyriment/misc/geometry/_geometry.py -> build/lib/expyriment/misc/geometry
copying expyriment/misc/geometry/_basic_shapes.py -> build/lib/expyriment/misc/geometry
copying expyriment/misc/geometry/__init__.py -> build/lib/expyriment/misc/geometry
creating build/lib/expyriment/misc/statistics
copying expyriment/misc/statistics/_statistics.py -> build/lib/expyriment/misc/statistics
copying expyriment/misc/statistics/__init__.py -> build/lib/expyriment/misc/statistics
creating build/lib/expyriment/stimuli
copying expyriment/stimuli/_tone.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_fixcross.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_textscreen.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_rectangle.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_ellipse.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/__init__.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_visual.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_circle.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_line.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_obsolete.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_audio.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_shape.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_textline.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_stimulus.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_video.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_blankscreen.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_canvas.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_textbox.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_picture.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/defaults.py -> build/lib/expyriment/stimuli
creating build/lib/expyriment/stimuli/extras
copying expyriment/stimuli/extras/__init__.py -> build/lib/expyriment/stimuli/extras
creating build/lib/expyriment/design
copying expyriment/design/_structure.py -> build/lib/expyriment/design
copying expyriment/design/__init__.py -> build/lib/expyriment/design
copying expyriment/design/defaults.py -> build/lib/expyriment/design
creating build/lib/expyriment/design/extras
copying expyriment/design/extras/__init__.py -> build/lib/expyriment/design/extras
creating build/lib/expyriment/design/randomize
copying expyriment/design/randomize/__init__.py -> build/lib/expyriment/design/randomize
copying expyriment/design/randomize/_randomize.py -> build/lib/expyriment/design/randomize
creating build/lib/expyriment/design/permute
copying expyriment/design/permute/__init__.py -> build/lib/expyriment/design/permute
copying expyriment/design/permute/_permute.py -> build/lib/expyriment/design/permute
copying expyriment/expyriment_logo.png -> build/lib/expyriment
creating build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSerifBold.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeMonoBold.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeMonoOblique.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSansBoldOblique.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSerifItalic.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSerif.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeMonoBoldOblique.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSansOblique.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSans.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSansBold.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeMono.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSerifBoldItalic.ttf -> build/lib/expyriment/_fonts
/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
Traceback (most recent call last):
File "/tmp/pip-req-build-bisduypw/setup.py", line 366, in <module>
run()
File "/tmp/pip-req-build-bisduypw/setup.py", line 315, in run
setup(name='expyriment',
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/__init__.py", line 87, in setup
return distutils.core.setup(**attrs)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 148, in setup
return run_commands(dist)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
dist.run_commands()
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
self.run_command(cmd)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/dist.py", line 1214, in run_command
super().run_command(command)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 311, in run
install_scripts = self.reinitialize_command('install_scripts')
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/__init__.py", line 142, in reinitialize_command
cmd = _Command.reinitialize_command(self, command, reinit_subcommands)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 305, in reinitialize_command
return self.distribution.reinitialize_command(command,
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 939, in reinitialize_command
command = self.get_command_obj(command_name)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 858, in get_command_obj
klass = self.get_command_class(command)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/dist.py", line 951, in get_command_class
self.cmdclass[command] = cmdclass = ep.load()
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_vendor/importlib_metadata/__init__.py", line 194, in load
module = import_module(match.group('module'))
File "/home/chrplr/anaconda3/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/command/install_scripts.py", line 2, in <module>
import distutils.command.install_scripts as orig
ImportError: cannot import name 'install_scripts' from 'setuptools._distutils.command' (/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/command/__init__.py)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-req-build-bisduypw/setup.py", line 369, in <module>
raise RuntimeError("Building/Installing Expyriment failed!")
RuntimeError: Building/Installing Expyriment failed!
----------------------------------------
ERROR: Failed building wheel for expyriment
Running setup.py clean for expyriment
Failed to build expyriment
Installing collected packages: expyriment
Running setup.py install for expyriment ... error
ERROR: Command errored out with exit status 1:
command: /home/chrplr/anaconda3/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-bisduypw/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-bisduypw/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-c2o2zac7/install-record.txt --single-version-externally-managed --compile --install-headers /home/chrplr/anaconda3/include/python3.9/expyriment
cwd: /tmp/pip-req-build-bisduypw/
Complete output (172 lines):
/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/dist.py:530: UserWarning: The version specified ('0.10.0-41-g4df41a1') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.
warnings.warn(
running install
/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build/lib
creating build/lib/expyriment
copying expyriment/_internals.py -> build/lib/expyriment
copying expyriment/__init__.py -> build/lib/expyriment
copying expyriment/cli.py -> build/lib/expyriment
copying expyriment/_api_reference_tool.py -> build/lib/expyriment
creating build/lib/expyriment/control
copying expyriment/control/_miscellaneous.py -> build/lib/expyriment/control
copying expyriment/control/__init__.py -> build/lib/expyriment/control
copying expyriment/control/_experiment_control.py -> build/lib/expyriment/control
copying expyriment/control/_test_suite.py -> build/lib/expyriment/control
copying expyriment/control/defaults.py -> build/lib/expyriment/control
creating build/lib/expyriment/io
copying expyriment/io/_gamepad.py -> build/lib/expyriment/io
copying expyriment/io/_touchscreenbuttonbox.py -> build/lib/expyriment/io
copying expyriment/io/_streamingbuttonbox.py -> build/lib/expyriment/io
copying expyriment/io/_keyboard.py -> build/lib/expyriment/io
copying expyriment/io/_input_output.py -> build/lib/expyriment/io
copying expyriment/io/_markeroutput.py -> build/lib/expyriment/io
copying expyriment/io/_files.py -> build/lib/expyriment/io
copying expyriment/io/__init__.py -> build/lib/expyriment/io
copying expyriment/io/_eventbuttonbox.py -> build/lib/expyriment/io
copying expyriment/io/_textmenu.py -> build/lib/expyriment/io
copying expyriment/io/_mouse.py -> build/lib/expyriment/io
copying expyriment/io/_screen.py -> build/lib/expyriment/io
copying expyriment/io/_textinput.py -> build/lib/expyriment/io
copying expyriment/io/_serialport.py -> build/lib/expyriment/io
copying expyriment/io/_triggerinput.py -> build/lib/expyriment/io
copying expyriment/io/defaults.py -> build/lib/expyriment/io
creating build/lib/expyriment/io/extras
copying expyriment/io/extras/__init__.py -> build/lib/expyriment/io/extras
creating build/lib/expyriment/io/_parallelport
copying expyriment/io/_parallelport/__init__.py -> build/lib/expyriment/io/_parallelport
copying expyriment/io/_parallelport/_inpout32.py -> build/lib/expyriment/io/_parallelport
copying expyriment/io/_parallelport/_dlportio.py -> build/lib/expyriment/io/_parallelport
copying expyriment/io/_parallelport/_linux.py -> build/lib/expyriment/io/_parallelport
creating build/lib/expyriment/misc
copying expyriment/misc/_miscellaneous.py -> build/lib/expyriment/misc
copying expyriment/misc/_buffer.py -> build/lib/expyriment/misc
copying expyriment/misc/__init__.py -> build/lib/expyriment/misc
copying expyriment/misc/_csv_reader_android.py -> build/lib/expyriment/misc
copying expyriment/misc/_secure_hash.py -> build/lib/expyriment/misc
copying expyriment/misc/_clock.py -> build/lib/expyriment/misc
copying expyriment/misc/constants.py -> build/lib/expyriment/misc
copying expyriment/misc/_timer.py -> build/lib/expyriment/misc
copying expyriment/misc/_colour.py -> build/lib/expyriment/misc
copying expyriment/misc/_get_system_info.py -> build/lib/expyriment/misc
copying expyriment/misc/defaults.py -> build/lib/expyriment/misc
creating build/lib/expyriment/misc/extras
copying expyriment/misc/extras/__init__.py -> build/lib/expyriment/misc/extras
creating build/lib/expyriment/misc/data_preprocessing
copying expyriment/misc/data_preprocessing/_data_preprocessing.py -> build/lib/expyriment/misc/data_preprocessing
copying expyriment/misc/data_preprocessing/__init__.py -> build/lib/expyriment/misc/data_preprocessing
creating build/lib/expyriment/misc/geometry
copying expyriment/misc/geometry/_geometry.py -> build/lib/expyriment/misc/geometry
copying expyriment/misc/geometry/_basic_shapes.py -> build/lib/expyriment/misc/geometry
copying expyriment/misc/geometry/__init__.py -> build/lib/expyriment/misc/geometry
creating build/lib/expyriment/misc/statistics
copying expyriment/misc/statistics/_statistics.py -> build/lib/expyriment/misc/statistics
copying expyriment/misc/statistics/__init__.py -> build/lib/expyriment/misc/statistics
creating build/lib/expyriment/stimuli
copying expyriment/stimuli/_tone.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_fixcross.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_textscreen.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_rectangle.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_ellipse.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/__init__.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_visual.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_circle.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_line.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_obsolete.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_audio.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_shape.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_textline.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_stimulus.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_video.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_blankscreen.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_canvas.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_textbox.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/_picture.py -> build/lib/expyriment/stimuli
copying expyriment/stimuli/defaults.py -> build/lib/expyriment/stimuli
creating build/lib/expyriment/stimuli/extras
copying expyriment/stimuli/extras/__init__.py -> build/lib/expyriment/stimuli/extras
creating build/lib/expyriment/design
copying expyriment/design/_structure.py -> build/lib/expyriment/design
copying expyriment/design/__init__.py -> build/lib/expyriment/design
copying expyriment/design/defaults.py -> build/lib/expyriment/design
creating build/lib/expyriment/design/extras
copying expyriment/design/extras/__init__.py -> build/lib/expyriment/design/extras
creating build/lib/expyriment/design/randomize
copying expyriment/design/randomize/__init__.py -> build/lib/expyriment/design/randomize
copying expyriment/design/randomize/_randomize.py -> build/lib/expyriment/design/randomize
creating build/lib/expyriment/design/permute
copying expyriment/design/permute/__init__.py -> build/lib/expyriment/design/permute
copying expyriment/design/permute/_permute.py -> build/lib/expyriment/design/permute
copying expyriment/expyriment_logo.png -> build/lib/expyriment
creating build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSerifBold.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeMonoBold.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeMonoOblique.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSansBoldOblique.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSerifItalic.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSerif.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeMonoBoldOblique.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSansOblique.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSans.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSansBold.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeMono.ttf -> build/lib/expyriment/_fonts
copying expyriment/_fonts/FreeSerifBoldItalic.ttf -> build/lib/expyriment/_fonts
running install_lib
Traceback (most recent call last):
File "/tmp/pip-req-build-bisduypw/setup.py", line 366, in <module>
run()
File "/tmp/pip-req-build-bisduypw/setup.py", line 315, in run
setup(name='expyriment',
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/__init__.py", line 87, in setup
return distutils.core.setup(**attrs)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 148, in setup
return run_commands(dist)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
dist.run_commands()
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
self.run_command(cmd)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/dist.py", line 1214, in run_command
super().run_command(command)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/tmp/pip-req-build-bisduypw/setup.py", line 182, in run
install.run(self)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/command/install.py", line 68, in run
return orig.install.run(self)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/command/install.py", line 676, in run
self.run_command(cmd_name)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/dist.py", line 1214, in run_command
super().run_command(command)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 984, in run_command
cmd_obj = self.get_command_obj(command)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 858, in get_command_obj
klass = self.get_command_class(command)
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/dist.py", line 951, in get_command_class
self.cmdclass[command] = cmdclass = ep.load()
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_vendor/importlib_metadata/__init__.py", line 194, in load
module = import_module(match.group('module'))
File "/home/chrplr/anaconda3/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/command/install_lib.py", line 4, in <module>
import distutils.command.install_lib as orig
ImportError: cannot import name 'install_lib' from 'setuptools._distutils.command' (/home/chrplr/anaconda3/lib/python3.9/site-packages/setuptools/_distutils/command/__init__.py)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-req-build-bisduypw/setup.py", line 369, in <module>
raise RuntimeError("Building/Installing Expyriment failed!")
RuntimeError: Building/Installing Expyriment failed!
----------------------------------------
ERROR: Command errored out with exit status 1: /home/chrplr/anaconda3/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-bisduypw/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-bisduypw/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-c2o2zac7/install-record.txt --single-version-externally-managed --compile --install-headers /home/chrplr/anaconda3/include/python3.9/expyriment Check the logs for full command output.
(base) chrplr@i156478:~/git/expyriment$
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing pip install . from the expyriment source directory with Python 3.9.12 and setuptools 61.2.0, then inspect the referenced setup.py and the failing setuptools build command. Done means the package builds a wheel without the reported install_scripts ImportError in the described environment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100