Ich versuche data_file
zu setup.py
Projekt hinzufügen. Ich kann Datei aus /tmp/
Verzeichnis, und kann es nicht aus aktuellem Verzeichnis des Skripts verwenden:Ordner für data_files in setup.py build (setuptools)
from setuptools import setup, find_packages
import os
packages = find_packages("src")
foo_path = os.path.dirname(os.path.abspath(__file__)) + '/foo.dat'
print foo_path # file exists and there full absolute path is printed:
# '/home/loom/myapp/foo.dat'
setup(name='myapp',
version='0.2.0',
url='http://loom.st',
author='Loom',
author_email='[email protected]',
package_dir={'': 'src'},
packages=packages,
py_modules=['my_start'],
# 1. data_files=[('lib/python', [foo_path])],
# 2. data_files=[('lib/python', [/tmp/foo.dat])],
setup_cfg=True,
)
Wenn die Leitung 1.
unkommentiert ist, dann python setup.py bdist_rpm
mit folgenden Meldung fehlgeschlagen:
running install_data
error: can't copy '/home/loom/myapp/build/bdist.linux-x86_64/rpm/BUILD/myapp-0.2.0/foo.dat': doesn't exist or not a regular file
error: Bad exit status from /var/tmp/rpm-tmp.02mmV8 (%install)
Wenn die Leitung 2.
ist unkommentiert, dann ist der Build abgeschlossen und enthält foo.dat
(Datei /tmp/foo.dat
existiert)
Warum die Zeile 1.
induziert Fehler und wie man es vermeidet?
Arbeiten Sie unter Windows oder * nix? Versuchen Sie, das nachstehende '/' in '/ home/loom/myapp/foo.dat /' zu entfernen, während es sich in '/ tmp/foo.dat' um eine Datei handelt und nicht um ein Verzeichnis – linusg
@linusg - an dem ich gerade arbeite * nix und 'tmp' befinden sich im Wurzelverzeichnis und die Datei'/tmp/foo.dat' existiert. Ich werde Frage erweitern, danke – Loom
Ah OK, danke. Probier was ich meinem Kommentar hinzugefügt habe bitte. – linusg