Kurztipp: Python TypeError: init() takes exactly 2 arguments (4 given)
Kürzliche stieß ich bei einem schon länger genutztem CentOS-System auf die folgende Fehlermeldung bei der Installation eines Python-Tools:
1# python setup.py install
2Traceback (most recent call last):
3 File "setup.py", line 102, in
4 'katprep_snapshot=katprep.snapshot:cli',
5 File "/usr/lib64/python2.7/distutils/core.py", line 152, in setup
6 dist.run_commands()
7 File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
8 self.run_command(cmd)
9 File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
10 cmd_obj.run()
11 File "/usr/lib/python2.7/site-packages/setuptools/command/develop.py", line 27, in run
12 self.install_for_development()
13 File "/usr/lib/python2.7/site-packages/setuptools/command/develop.py", line 129, in install_for_development
14 self.process_distribution(None, self.dist, not self.no_deps)
15 File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 701, in process_distribution
16 distreq.project_name, distreq.specs, requirement.extras
17TypeError: __init__() takes exactly 2 arguments (4 given)
Das zu installlierende Tool verwendet das Python-Modul setuptools
zur vereinfachten Installation (easy_install
). Es wurde sichergestellt, dass der Syntax des Installationsprogramms korrekt ist - auch andere Python-Tools ließen sich nicht installieren. Schlussendlich stellte sich heraus, dass durch vorherige Installationen und Deinstallationen das Python-Modul beschädigt wurde - eine Neuinstallation schaffte Abhilfe:
1# yum reinstall python-setuptools
Schafft die Neuinstallation keine Abhilfe, wäre die nächste Option die Aktualisierung über die Python-Paketverwaltung:
1# pip install --upgrade setuptools