1 votes

Une erreur se produit rapidement lors de l'installation

J'ai porté une application sur Quickly, en remplaçant tous les fichiers nécessaires. Quand je dis quickly run l'application fonctionne sans faille. Cependant, le problème survient lorsque j'essaie de la conditionner/installer. Voici le problème qui se produit lorsque j'essaie de l'installer :

$ sudo python ./setup.py install 
running install
running build
running build_py
running build_scripts
running build_i18n
intltool-update -p -g foobar
running build_icons
running build_help
running install_lib
running install_scripts
changing mode of /usr/local/bin/foobar to 755
running install_data
running install_egg_info
Removing /usr/local/lib/python2.7/dist-packages/foobar-0.1a.egg-info
Writing /usr/local/lib/python2.7/dist-packages/foobar-0.1a.egg-info
Traceback (most recent call last):
  File "setup.py", line 146, in <module>
    cmdclass={'install': InstallAndUpdateDataDirectory}
  File "/usr/lib/python2.7/dist-packages/DistUtilsExtra/auto.py", line 100, in setup
    distutils.core.setup(**attrs)
  File "/usr/lib/python2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 120, in run
    target_data = '/' + os.path.relpath(self.install_data, self.root) + '/'
  File "/usr/lib/python2.7/posixpath.py", line 422, in relpath
    start_list = [x for x in abspath(start).split(sep) if x]
  File "/usr/lib/python2.7/posixpath.py", line 352, in abspath
    if not isabs(path):
  File "/usr/lib/python2.7/posixpath.py", line 61, in isabs
    return s.startswith('/')
AttributeError: 'NoneType' object has no attribute 'startswith'

Puisque le programme quickly run Je pense que c'est un problème avec le fichier d'installation : Voici la partie que j'ai configurée pour setup.py :

DistUtilsExtra.auto.setup(
    name='foobar',
    version='0.1a',
    license='GPL-3',
    author='My name',
    author_email='myemail@foobar.com',
    description='A description',
    long_description='A looooonger description',
    url='https://launchpad.net/foobar',
    cmdclass={'install': InstallAndUpdateDataDirectory}
    )

Quelques informations supplémentaires :

$ quickly --version
Quickly 12.08.1

  Python interpreter: /usr/bin/python 2.7.5
  Python standard library: /usr/lib/python2.7

  Quickly used library: /usr/lib/python2.7/dist-packages/quickly
  Quickly data path: /usr/share/quickly
  Quickly detected template directories:
          /usr/share/quickly/templates/

Copyright 2009 Rick Spencer
Copyright 2009-2011 Didier Roche
Copyright 2010-2011 Canonical Ltd
https://launchpad.net/quickly

quickly comes with ABSOLUTELY NO WARRANTY. quickly is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 3 or later.

J'utilise Ubuntu 13.10, mais j'ai testé cela sur Trusty également et j'ai obtenu le même résultat.

Merci !

0voto

vbroto Points 723

self.root dans votre fichier setup.py est None Ce qui jette l'exception.

# This is to mimic line 120 in your setup.py file
# target_data = '/' + os.path.relpath(self.install_data, self.root) + '/'
>>> os.path.relpath("/spam/eggs", None)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/posixpath.py", line 422, in relpath
    start_list = [x for x in abspath(start).split(sep) if x]
  File "/usr/lib/python2.7/posixpath.py", line 352, in abspath
    if not isabs(path):
  File "/usr/lib/python2.7/posixpath.py", line 61, in isabs
    return s.startswith('/')
AttributeError: 'NoneType' object has no attribute 'startswith'

C'est la même trace. Je ne suis pas familier avec Quickly, mais vous devrez trouver pourquoi self.root est réglé sur None et ensuite le réparer.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X