94439


# 質問内容

組込みDebian10環境下で、後述するようなパッケージインストール状態でした。  
同じように再現するために、どのようにPythonパッケージを確認・インストールするのでしょうか？

# aptパッケージの確認

以下のようにPythonに関するパッケージは以下のようでした。  
pipが存在していません。しかし、Pythonインタプリタでは、パッケージインストール先にあるパッケージがimportできます。

[code]

    apt list python* --installed
    
    python3-minimal/now 3.7.3-1 armhf [installed,local]
    python3-six/now 1.12.0-1 all [installed,local]
    python3.7-minimal/now 3.7.3-2+deb10u2 armhf [installed,local]
    python3.7/now 3.7.3-2+deb10u2 armhf [installed,local]
    python3/now 3.7.3-1 armhf [installed,local]
    
[/code]

# パッケージのインストール先

[code]

    /usr/local/lib/python3.7/dist-packages/
    
[/code]

# 参考資料

前の質問  
[組込み機器内
DebianでのPython3パッケージの確認方法](https://ja.stackoverflow.com/questions/94399/%e7%b5%84%e8%be%bc%e3%81%bf%e6%a9%9f%e5%99%a8%e5%86%85-debian%e3%81%a7%e3%81%aepython3%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8%e3%81%ae%e7%a2%ba%e8%aa%8d%e6%96%b9%e6%b3%95)  
参考URL  
[The reason cause different location of python
packages](https://stackoverflow.com/questions/54234344/the-reason-cause-
different-location-of-python-packages)

# 試したこと

他サイトに紹介されていたようなaptパッケージでのインストールを試みました。

[code]

    sudo apt install python3-(パッケージ名)
    sudo apt install python3.7-(パッケージ名)
    
[/code]

Pillow、django、flower、redis等がインストールされているのですが、上記の方法ではインストールできません。

# 追記

情報が不足していたので、追記します。

## 状況

Debian10の組込み機器を開発するためにVMwareでOSイメージが提供されています。  
それを使用して、開発・ブートイメージ作成→実機適用という流れです。  
他の人が作成した組込み機器は既に動作済みのアプリ等が動いております。  
ただし、それを作製した開発環境がなく、実機から動いているものから再現を試みています。手元のVMwareのOSイメージはデフォルト状態になっています。  
実機にログインして、手元のVMware上との違いを探りつつ再現している状態です。

## 実機内での調査

上記のaptパッケージ確認とは、実機にTeraTermログインしてコマンドラインで得た結果です。  
また、パッケージの確認方法は、あたりをつけて、インストールフォルダをWinSCPで確認しました。さらに、実機内でPythonを起動して、各パッケージが実際にimportできることを確認しております。  
この実機内でaptでもなく、pipもない状況でなぜPythonパッケージがインストールされているのかが分からないです。


CC BY-SA 4.0
2023-04-07T07:48:30.880
94437
2023-04-07T11:39:21.510
2023-04-07T08:35:40.140
32891
32891
question
python debian
Debian環境のPython3でpipを使用せずにパッケージをインストールする方法


ソースコードを持ってくれば、中に`setup.py`というスクリプトがあるはずなので、それを実行してインストールできます。

[code]

    python3 setup.py install
    
[/code]

ただし、

  * インストールされるのはそのパッケージのみで、依存しているパッケージはインストールされません。一つ一つインストールする必要があります。
  * 拡張モジュール(C言語などで書かれたもの)を含むパッケージは、C言語の開発環境が必要です。(pipでのインストールでも場合によっては同じですが、この場合 **必ず** です)

めんどくさいですよね。  
だからみんな、「pipでインストールしろ」というわけで。

あと、この方法でインストールしたものは、パッケージ管理されません。  
アンインストールする場合には、手動でインストールしたファイルを削除しなければなりません。

[setup.pyを用いてインストールしたモジュールのアンインストール方法](https://qiita.com/orion0616/items/dfe476067e499cca8535)

もしくは、debianであればdebパッケージを作成して管理します。  
以下は、自分が昔debパッケージを作る際に参考にしたサイトです。  
ただし、かなり古いので、今はまた違っているかもしれません。

  * [python3用とpython2用のmultipleなdebパッケージを作るubuntuパッケージの作り方](https://bellbind.hatenadiary.org/entry/20100728/1280334070)
  * [pythonパッケージからdebファイルを作成する](https://qiita.com/ukinau/items/adeadf2333b5cce54614)

一般的にaptで管理しているpythonパッケージ(pythonに限った話ではないですが)は、誰かのところでdebパッケージを作成して、それを配布していると思います。  
だから、pipなどがインストールされていなくてもモジュールがインストールできます。


CC BY-SA 4.0
2023-04-07T11:39:21.510
94439
2023-04-07T11:39:21.510
15473
94437
answer