Produz rapidamente um erro ao instalar

1

Eu transferi um aplicativo para o Quickly, substituindo todos os arquivos conforme necessário. Quando digo quickly run , o aplicativo é executado sem falha. No entanto, o problema ocorre quando tento empacotá-lo / instalá-lo. Aqui está o problema que ocorre quando tento instalar:

$ 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'

Como o programa quickly run s está bem, eu acho que é um problema com o arquivo de configuração: Aqui está a parte que eu configurei para setup.py :

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

Algumas informações adicionais:

$ 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.

Estou usando o Ubuntu 13.10, mas também testei isso no Trusty e obtive o mesmo resultado.

Obrigado!

    
por Display Name 21.02.2014 / 00:07

1 resposta

0

self.root no seu arquivo setup.py é None , o qual lança a exceção.

Exemplo:

# 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'

É o mesmo traceback. Eu não estou familiarizado com o Quickly, mas você terá que descobrir por que self.root está definido como None e, em seguida, corrigi-lo.

    
por Timo 21.02.2014 / 12:52