質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.36%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

1587閲覧

linux環境下におけるPythonインストール時に利用するフォルダの役割について知りたい。

t.nakai

総合スコア1

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/11/10 16:06

編集2021/11/11 11:34

前提

raspberry pi環境下にプリインストールされていたPythonより新しいバージョンのPythonをインストールしました。
インストール時に利用したフォルダ(Python-3.x.y.tar.xz,解凍後のフォルダ)について以下疑問点が発生しました。
言及されている書き込みが見当たらなかったため質問します。

質問

  1. Pythonインストールのために公式から取得したフォルダ(Python-3.x.y.tar.xz,解凍後のフォルダ)はインストール後削除しても問題ないのでしょうか?

必要である場合、どこに配置することが妥当なのでしょうか?

  1. また、このフォルダはどのような役割を持っているのでしょうか?概要を教えて下さい。

インストーラーか、Pythonの実体なのか。

  1. Pythonの最新バージョンを入れた後、過去バージョンをアンインストールしたいと考えましたが、いろいろ手順が必要かつ面倒であることがわかりました。

運用上このような過去バージョンをいちいち削除する方法はあまり取られないのでしょうか?
あくまで環境を清潔に保つために不要バージョンを削除したいというだけの考えであるため、過去バージョンを放置するというのが定石なのであれば削除する必要も感じていません。

個人見解

  1. このフォルダはインストーラであり、削除しても問題ないと考えていますが、Pythonをアンインストールする際に利用するなど今後の利用用途が存在する可能性も否定できずにいます。

  2. このフォルダはインストーラであり、実体はusr/local/libにあると予想しています。

以上、よろしくお願いいたします。

補足

※ 具体的に本質問で指しているフォルダとは、
一般的にソースコードと呼ばれているものになります。
具体的には下記URL、Python公式からダウンロードしたtarファイルを解凍した後のフォルダ。
もっと言えば、このフォルダをインストール(コンパイル)に利用した後の状態のこのフォルダを指します。
https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz

※Pythonのバージョンについて、
本質問においてバージョンはそれほど重要でない認識でありますが、記載いたします。
3.7.2⇒3.9.2, 3.10.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2021/11/10 23:07

具体的にどういうフォルダがあるんでしょうか
t.nakai

2021/11/11 00:41 編集

一般的にソースコードと呼ばれているものになります。 具体的には下記URL、Python公式からダウンロードしたtarファイルを解凍した後のフォルダ。 もっと言えば、このフォルダをインストール(コンパイル)に利用した後の状態のこのフォルダを指します。 https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
t.nakai

2021/11/11 11:36

ご指摘の通り、最新バージョンは3.7.2を指しませんでした。 どういうフォルダに対する回答に利用したにすぎません。 誤った解釈が発生するため質問内容を修正いたしました。
jbpb0

2021/11/11 12:08

> 3.7.2⇒3.9.2, 3.10.0 上にも書きましたけど、「bullseye」には3.9が同梱されてるので、自分で3.9をソースからコンパイルしなくても、使うことができます 3.10は、ラズパイ用のwheel(pip install...で使うやつ)を提供してるpiwheelsがサポートしてないのだから、純粋にPythonだけで書かれてるものを除き、現時点ではpip install...できません numpyとかpandasとかmatplotlibとかopencvとか、便利なものの多くは自分でビルドしないと使えるようにはなりません piwheelsは、最新のラズパイOSに同梱されてるPythonのバージョンまでしかサポートしないので、それよりも新しいもの(現時点では3.10)を使うのは、pip install...でいろんなものを簡単に入れて便利に使う、ということができないので、大変ですよ Pythonのソースに限定せず、一般的な話なら、コンパイルするために何か工夫した(特別なオプションを付けたとか、ソースを修正したとか)なら、コンパイルし終わった状態をtar+gzipとかで固めて、ラズパイのSDカード以外のところに保存した方がいいですよ SDカードが壊れて、もう一度同じことをやりたい時に、それを使えば簡単に状態が復元できます 全くそういうことをしてなくて、普通の手順通りに実行したらコンパイルできるのなら、ソースの入手が困難とか特別な理由がないなら、保存しなくても大丈夫だと思います
t.nakai

2021/11/11 16:49

なるほどです。 あらかじめ私がぶち当たりそうな壁を除去して頂きありがとうございます。 なんとなく最新でいいかという理由で3.10を入れるところでした。 非常にありがとうございます。 質問経緯としては仕事が落ち着いてきて暇が出てきたので前回序盤で放棄したラズパイをまた触りたくなり、前回適当に触った残骸が残っており、よくわからなくなったため環境綺麗にして仕切りなおすかというものでありました。
jbpb0

2021/11/12 01:56

読み返したら、一点間違いを書いてたのに気づいたので、訂正します > 3.10は、ラズパイ用のwheel(pip install...で使うやつ)を提供してるpiwheelsがサポートしてないのだから、純粋にPythonだけで書かれてるものを除き、現時点ではpip install...できません Pythonのバージョンに対応してるwheelが無い場合は、pipはソースをダウンロードしてビルドしますので、ビルドに必要なライブラリが入ってるとか、開発環境が整っていれば、時間をかけたらインストールはできます https://blog.piwheels.org/python-3-9-wheels-for-bullseye/ には、OpenCVのビルドに5時間くらいかかった、と書かれてます ものによりますが、規模が大きいものだと一つ入れるのにそれなりに時間かかります (もっと短時間でビルドできてインストールできるものも、もちろんあります)
guest

回答3

0

  • Pythonインストールのために公式から取得したフォルダ(Python-3.x.y.tar.xz,解凍後のフォルダ)はインストール後削除しても問題ないのでしょうか?

configureを使ってビルドしている場合、

shell

1make 2make install

が終わった後であれば、削除しても問題ありません。
ただし、ソースコードを読みたい、最適化レベルを上げてPythonを高速化したい、などの場合は残して置いた方が楽です。

  • また、このフォルダはどのような役割を持っているのでしょうか?概要を教えて下さい。

インストーラーか、Pythonの実体なのか。

ビルドするためのCソースコードと、そのままインストールするためのPythonコードなどです。

  • Pythonの最新バージョンを入れた後、過去バージョンをアンインストールしたいと考えましたが、いろいろ手順が必要かつ面倒であることがわかりました。

configureのコマンドライン引数--prefixはmake installのときにインストールする先を指定します。これを毎回変更するようにしましょう。そうすれば、不要なPythonのインストール先のディレクトリを丸ごと削除すれば亜人ストールできます。

投稿2021/11/11 10:02

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t.nakai

2021/11/11 11:49

パッケージ管理システムを使わず、ディレクトリ単位での管理という方法のご提示ありがとうございます。 思いつきませんでした。非常に参考になります。 ご回答ありがとうございました。
guest

0

makeする前にconfigureを実行したと思いますが、configureにはpythonをコンパイルする為の多くのオプションがあります。
$ ./configure --help
pythonの動きがおかしいと思ったら、オプションを変更して再コンパイルする必要が出てきます。
何度も試行錯誤する可能性があるので、ソースはしばらくは削除せず、残しておいても良いかと思います。

$ ./configure --help `configure' configures python 3.7 to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print `checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for `--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or `..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] 以下省略

投稿2021/11/11 02:57

technocore

総合スコア7337

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t.nakai

2021/11/11 11:45

ソース削除前の活用方法のご提示ありがとうございます。 前回答者様の回答に補足いただいた形となっており、非常にありがたいです。
guest

0

ベストアンサー

Pythonインストールのために公式から取得したフォルダ(Python-3.x.y.tar.xz,解凍後のフォルダ)はインストール後削除しても問題ないのでしょうか?

必要である場合、どこに配置することが妥当なのでしょうか?

tar.xzファイルも展開後のディレクトリも不要なので削除して問題ありません。

また、このフォルダはどのような役割を持っているのでしょうか?概要を教えて下さい。

インストーラーか、Pythonの実体なのか。

pythonの実体やライブラリ/モジュールの一部のソースコードはC言語で書かれていて、それが含まれています。また、ライブラリ/モジュールの一部はpythonで書かれています。マニュアルも含まれています。
C言語はコンパイルするひつようがありますので、makeコマンドを実行すると
コンパイルされます。
pythonが動作するためには、適切な場所に必要なファイルが配置されている必要があります。その状態を作るのがインストールですが、その操作をするための処理も含んでいます。

Pythonの最新バージョンを入れた後、過去バージョンをアンインストールしたいと考えましたが、いろいろ手順が必要かつ面倒であることがわかりました。

運用上このような過去バージョンをいちいち削除する方法はあまり取られないのでしょうか? あくまで環境を清潔に保つために不要バージョンを削除したいというだけの考えであるため、過去バージョンを放置するというのが定石なのであれば削除する必要も感じていません。

質問者さんのように、ソースからインストールした場合、一般的にはアンインストールの手順は提供されていないので、そのままにしておくことになるでしょう。新旧のバージョンがわかりませんが、ものによっては上書きされているものもあるかもしれませんので、インストール後に古いものを削除するのは簡単ではありません。

rpm(yum)やdeb(apt)のようなパッケージ管理システムを利用している場合は、アンインストールやアップグレード(置き換え)がサポートされています。これらを使えば管理は楽になりますね。

投稿2021/11/11 02:21

TakaiY

総合スコア13716

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t.nakai

2021/11/11 11:42

質問に対する的確な回答をありがとうございます。 質問文から一番知りたい情報を推察してプラスアルファで情報提供いただいたように印象を受けます。 まさしく知りたいところでした。 非常に助かりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問