Issue 20809: isabspath receiving path value of None in distutils.dist.py (original) (raw)
So far I've noticed this is only reproducible when running quickly with python2.7. Still, the error message seems like it would be confusing to new users to Python.
user@host:~/foo/bar/project$ sudo python setup.py install DEBUG: Adding /foo/bar/project to system path. ERROR: Python module settings not found ERROR: Python module settings not found .... # basically, more DistUtilsExtra errors... running install DEBUG: Adding /foo/bar/project to system path. running build running build_py running build_scripts running build_i18n DEBUG: Desktop files: ['project.desktop.in'] intltool-update -p -g ryode running build_icons running build_help running install_lib copying build/lib/init.py -> /usr/local/lib/python2.7/site-packages copying build/lib/ryode/init.py -> /usr/local/lib/python2.7/site-packages/ryode byte-compiling /usr/local/lib/python2.7/site-packages/init.py to init.pyc byte-compiling /usr/local/lib/python2.7/site-packages/ryode/init.py to init.pyc running install_scripts copying build/scripts-2.7/project -> /usr/local/bin changing mode of /usr/local/bin/project to 775 running install_data copying build/share/applications/project.desktop -> /usr/local/share/applications running install_egg_info Removing /usr/local/lib/python2.7/site-packages/project-0.1-py2.7.egg-info Writing /usr/local/lib/python2.7/site-packages/project-0.1-py2.7.egg-info Traceback (most recent call last): File "setup.py", line 144, in cmdclass={'install': InstallAndUpdateDataDirectory} File "/usr/local/lib/python2.7/site-packages/python_distutils_extra-2.38-py2.7.egg/DistUtilsExtra/auto.py", line 100, in setup distutils.core.setup(**attrs) File "/usr/local/lib/python2.7/distutils/core.py", line 152, in setup dist.run_commands() File "/usr/local/lib/python2.7/distutils/dist.py", line 953, in run_commands self.run_command(cmd) File "/usr/local/lib/python2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File "setup.py", line 116, in run target_data = '/' + os.path.relpath(self.install_data, self.root) + '/' File "/usr/local/lib/python2.7/posixpath.py", line 437, in relpath start_list = [x for x in abspath(start).split(sep) if x] File "/usr/local/lib/python2.7/posixpath.py", line 367, in abspath if not isabs(path): File "/usr/local/lib/python2.7/posixpath.py", line 61, in isabs return s.startswith('/') AttributeError: 'NoneType' object has no attribute 'startswith'
The particular error you see is caused by code in the setup.py file of the project you are installing. I suggest you figure out what's going on there:
File "setup.py", line 116, in run target_data = '/' + os.path.relpath(self.install_data, self.root) + '/'