Main.pyというPythonファイルが1つあります。それから.debパッケージを作成し、ターミナルからパッケージ名を入力してmain.pyを実行できるようにしたいと思います。 Python 3で記述されているため、パッケージ名は次のように実行されます。
python3 main.py
私が知っている唯一の依存関係はpython3です。
私はpython3の依存関係を持つdebを作成してからpython3 packagename
を実行しようとしましたが、次のようになります:
/usr/bin/python3: can't find '__main__' module in 'packagename'
パッケージの作成にDebreateを使用しようとすると、次のコマンドで開くことができません。
Traceback (most recent call last):
File "/usr/bin/debreate", line 12, in <module>
import wx, sys, os, debreate, db, language, shutil
File "/usr/share/debreate/debreate.py", line 23, in <module>
import os, sys, wx.lib.dialogs, db, webbrowser, language, shutil, subprocess
File "/usr/share/debreate/db.py", line 5, in <module>
import wx, wx.combo, wx.lib.mixins.listctrl as LC, os, sys, language
ImportError: No module named combo
Python3スクリプト用の.debの作成は非常に簡単で、python2のパッケージングに慣れている場合は、debian/rulesとdebian/controlを少し変更するだけで済みます。
手短に:
パッケージソースディレクトリを作成する
mkdir myscript-0.1
Python3スクリプト(または以下のサンプルスクリプト)をソースディレクトリにコピーします。
cp ~/myscript myscript-0.1
cd myscript-0.1
サンプルスクリプト:
#!/usr/bin/python3
if __== '__main__':
print("Hello world")
パッケージスケルトンを作成します(debian/*)
dh_make -s --indep --createorig
サンプルファイルを削除する
rm debian/*.ex debian/*.EX debian/README.*
Debian /コントロールの編集
その内容を次のテキストに置き換えます。
Source: myscript
Section: utils
Priority: optional
Maintainer: Name,
Build-Depends: debhelper (>= 9), python3
Standards-Version: 3.9.5
X-Python3-Version: >= 3.2
Package: myscript
Architecture: all
Depends: ${misc:Depends}, ${python3:Depends}
Description: insert up to 60 chars description
insert long description, indented with spaces
debian/installには、インストールするスクリプトとターゲットディレクトリが含まれている必要があります
echo myscript usr/bin > debian/install
Debian/rulesを編集
その内容を次のテキストに置き換えます。
#!/usr/bin/make -f
%:
dh $@ --with=python3
注:dh $@
の前のタブで、4つのスペースではありません!
パッケージをビルドする
debuild -us -uc
Lintianの警告/エラーがいくつか表示されますが、パッケージはすぐに使用できます。
../myscript_0.1-1_all.deb