Установить проект python3 с помощью автоинструментов

У меня есть gtk+3 проект написан на python3 с файловой структурой (я в Linux):

$tree
.
├── autogen.sh
├── configure.ac
├── Makefile.am
├── mkbib.desktop.in
└── src
    ├── __init__.py       #empty file
    ├── menubar.ui
    ├── menu.py
    ├── mkbib.py
    ├── pybib.py
    └── view.py

mkbib.py содержит app.run():

$tail -5 mkbib.py 

if __name__ == "__main__":
    app = mkbib()
    r = app.run(sys.argv)
    sys.exit(r)

Я пытаюсь создать автоинструменты, как показано на сайте developer.gnome

Это выглядит как:

$cat configure.ac 
# This file is processed by autoconf to create a configure script
AC_INIT([mkbib], [1.0],[],[mkbib])
AM_INIT_AUTOMAKE([1.10 no-define foreign dist-xz no-dist-gzip])
AC_CONFIG_FILES([Makefile mkbib.desktop])
AC_OUTPUT

$cat Makefile.am 
bin_SCRIPTS = mkbib
%.desktop: %.desktop.in
desktopdir = $(datadir)/applications
desktop_DATA = mkbib.desktop
dist_noinst_DATA = mkbib.desktop.in
mkbib:src/mkbib.py

и autogen.sh - полная копия, как указано в ссылке.

Теперь, если я пытаюсь запустить autogen.sh(это работает без ошибок); make install, для make install я получаю:

make install
make[1]: Entering directory '/home/rudra/Devel/mkbib/Python/Mkbib'
 /usr/bin/mkdir -p '/var/tmp/bin'
 /usr/bin/mkdir -p '/var/tmp/share/applications'
 /usr/bin/install -c -m 644 mkbib.desktop '/var/tmp/share/applications'
make[1]: Leaving directory '/home/rudra/Devel/mkbib/Python/Mkbib'

Как видите, исполняемого файла нет mkbib создано. Хоть, .desktop файл размещен в нужном месте

Как я могу создать один исполняемый файл с помощью автоинструментов?

NB: В соответствии со стандартом Python, я также попробовал setup.py, но у меня это не получилось еще хуже

Ответ LRN: с bin_SCRIPTS = src/mkbib.py Я получаю:

$make install
make[1]: Entering directory '/home/rudra/Devel/mkbib/Python/Mkbib'
 /usr/bin/mkdir -p '/home/rudra/.local/bin'
 /usr/bin/install -c src/mkbib.py '/home/rudra/.local/bin'
 /usr/bin/mkdir -p '/home/rudra/.local/share/applications'
 /usr/bin/install -c -m 644 mkbib.desktop '/home/rudra/.local/share/applications'
make[1]: Leaving directory '/home/rudra/Devel/mkbib/Python/Mkbib'

$/home/rudra/.local/bin/mkbib.py 
/home/rudra/.local/bin/mkbib.py: line 9: from: command not found
/home/rudra/.local/bin/mkbib.py: line 10: syntax error near unexpected token `"Gtk",'
/home/rudra/.local/bin/mkbib.py: line 10: `gi.require_version("Gtk", "3.0")'


$python3 /home/rudra/.local/bin/mkbib.py 
Traceback (most recent call last):
  File "/home/rudra/.local/bin/mkbib.py", line 3, in <module>
    import menu
ImportError: No module named 'menu'

0 ответов

Другие вопросы по тегам