Какой параметр мне нужен в setup.py для создания пакета в правильном каталоге?
Я использую setup.py
для создания пакета python, который я хочу установить через pip
. Чтобы правильно установить файлы в
lib/python2.7/site-packages/<package-name>
Я использовал следующий параметр в setup.py
:
'package_dir': {'':'lib'}
как описано здесь, но получить ошибку
error: package directory 'lib' does not exist
Ну, такого каталога нет, поскольку я хочу, чтобы текущий каталог был установлен как пакет lib
или что-то еще. Я также попытался использовать
'package_dir': {'mycode':''}
который устанавливает код непосредственно в
lib/python2.7/site-packages/
и не под
lib/python2.7/site-packages/<package-name>
Что я делаю неправильно, и где это документировано? Я мог бы упустить из виду документацию по этой базовой функции, поскольку документация для setup.py
является "субоптимальной".
Ответы
Ответ 1
Описание того, как это сделать, можно найти в распространенной документации... В каталоге, содержащем весь проект (TowelStuff/
в данном примере), вы указываете имя фактического модуля (towelstuff/
). Чтобы включить это как ваш модуль, вам нужно добавить следующую строку в setup.py
:
'packages': ['towelstuff']
После создания sdist (с помощью TowelStuff/
) установка этого пакета будет устанавливаться в соответствии с site-packages/towelstuff
, которые можно импортировать как обычно (from towelstuff import...
).