Мне сложно понять, как установить мой пакет с помощью setuptools, и я пробовал читать документацию на нем и сообщениях SO, но я не могу заставить его работать правильно. Я пытаюсь получить простое приложение helloworld для работы. Вот как я догадался:
helloworld.py:
print("Hello, World!")
README.txt:
Hello, World! readme
MANIFEST.in:
recursive-include images *.gif
setup.py:
from setuptools import setup, find_packages
setup(
name='helloworld',
version='0.1',
license='BSD',
author='gyeh',
author_email='[email protected]',
url='http://www.hello.com',
long_description="README.txt",
packages=find_packages(),
scripts = ['helloworld.py'],
package_data={
"" : ["images/*.gif"]
},
data_files=[('images', ['images/hello.gif'])],
description="Hello World testing setuptools",
)
И у меня есть пустой файл с именем images/hello.gif, который я хочу включить в свой пакет в качестве дополнительных данных. Структура папок выглядит следующим образом:
testsetup/
|-- helloworld.py
|-- images/
|-- --- hello.gif
|-- MANIFEST.in
|-- README.txt
|-- setup.py
Когда я запускаю python setup.py sdist
, он успешно создает dist
и helloworld.egg-info
. Когда я смотрю на файл SOURCES.txt под информацией о яйце, он содержит script и изображение под папкой изображений, а также tarball под dist содержит их.
Однако, когда я пытаюсь запустить pip install --user helloworld-0.1.tar.gz
в tarball, он успешно устанавливает его, но я не могу найти программные файлы helloworld.py и images/hello.gif.
Когда я смотрю под $HOME/.local/lib/python3.3/site-packages/
, я вижу папку с информацией о яйце и все содержимое, установленное там. Но папка $HOME/.local/bin
даже не существует. Хранили ли файлы программ в другом месте? Что я здесь делаю неправильно? Я запускаю Arch Linux.