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

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

新規登録して質問してみよう
ただいま回答率
85.37%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

さくらのVPS

さくらのVPSは、さくらインターネット社が提供するVPS(仮想専用サーバー)です。高速なSSDの選択や複数台構成も可能。利用者に応じた柔軟なプランが用意されています。大規模システムにも対応可能なスケーラビリティを備えたホスティングサービスです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Python

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

Q&A

解決済

4回答

8878閲覧

CentOSに複数のバージョンのPythonをインストールすることは可能なのでしょうか。

Yukika

総合スコア4

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

さくらのVPS

さくらのVPSは、さくらインターネット社が提供するVPS(仮想専用サーバー)です。高速なSSDの選択や複数台構成も可能。利用者に応じた柔軟なプランが用意されています。大規模システムにも対応可能なスケーラビリティを備えたホスティングサービスです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Python

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

0グッド

1クリップ

投稿2021/07/13 16:32

編集2021/07/13 16:34

前提・実現したいこと

現在、VPSサーバでDjangoを動かすためCentOS7、nginxをインストールした
サーバに各種設定を行なっています。
既にPython3.9.2をインストール済みなのですが、上手くいかない部分があり、
Pythonの別バージョンをインストールしようか考えています。

別バージョンをインストールするにあたり、

・Python3.9.2はアンインストールした方が良いのでしょうか。
アンインストール方法を調べたのですが、正確な方法がわかりません。
もしアンインストールする場合は、

make uninstall

なのか、

rm

でPython3.9.2の該当ディレクトリを削除すれば良いのでしょうか。

・共存しても良い場合は、Python3.9.2の時と同じようにソースから別バージョンのPython(例として3.6)を
インストールし、コマンドを入力する時にバージョンをつければ、Python3.9.2と衝突せずに利用できるのでしょうか。

例 python3.6 manage.py xxxxxx

###自分で調べたことや試したこと

CentOS7にnginxをインストールし、ソースからPython3.9.2をインストールしました。

curl -O https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz tar xf Python-3.9.2.tgz cd Python-3.9.2 ./configure make sudo make altinstall

そしてsudoパスを下記のように変更しました。

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin ↓ Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

Python3.9と入力したところ、対話モードが呼び出されました。
また、コマンドを入力する時は、Pythonの後ろにバージョンをつけて作業しています。

例 python3.9 manage.py xxxxxx

よろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

さくらVPS
Cent OS7
nginx
Python 3.9.2

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

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

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

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

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

guest

回答4

0

ディスク容量に困っていないならアンインストールする必要はありません。

複数のPythonを切り替える方法は、以下の3通りです。

方法1 起動時のPythonをフルパスで指定する。ソースに実行属性を付けるなら、Shebangで指定する。

方法2 PATHを設定する

方法3 仮想環境(つまり切り替えコマンド)を使用する。

 pyenv, conda, venvなど

注意事項

  • リストconfigureのオプションとして、--prefixを使えば、任意の場所にインストールすることが可能です。

  • Pythonは実行ファイルごとにライブラリをインストールしなければなりません。

  • configureのデフォールトの設定では最適化レベルが低いので性能はよくありません。

一方、最適化レベルを最高にすると、makeにとても時間がかかります。

投稿2021/07/13 22:54

ppaul

総合スコア24670

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

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

Yukika

2021/07/16 10:14

ご回答頂き、ありがとうございます。 色々な方法があるのですね…。 ライブラリやオプションについてもアドバイス頂き、ありがとうございました。
guest

0

ベストアンサー

Python3.9.2はアンインストールした方が良いのでしょうか。

アンインストールする必要はありません。

共存しても良い場合は、Python3.9.2の時と同じようにソースから別バージョンのPython(例として3.6)を

インストールし、コマンドを入力する時にバージョンをつければ、Python3.9.2と衝突せずに利用できるのでしょうか。

はい。同じようにインストールし、バージョンをつけて実行すれば衝突せずに利用できます。


私も同じ環境(さくらVPSのCentOS 7)で、複数のバージョンのPythonを、ソースからインストールして使っています。現在は、3.7、3.8、3.9の3つが入っています。インストールの際に使用しているコマンドもほぼ一緒です。

ただ私はインストールする際は常に sudo make install でインストールしています。このため Python3 コマンドもインストールされますので、通常は Python3 コマンドで最後にインストールしたバージョン(私の環境では最新のバージョン)を使用しています。
それ以外のバージョンを使う必要があるときだけ、Python3.8 といったようにマイナーバージョンまで指定して実行しています。

常に sudo make altinstall でインストールして、常にマイナーバージョンまで指定して実行するのでも、それはそれでいいと思います。


追記

他の方が回答されているように、ライブラリはPythonのバージョン(マイナーバージョン)ごとにインストールしなければなりませんので、pipコマンドを単独で使うのでなく、以下のように必ずpythonコマンドとセットで使うようにすると、確実に望む環境に対してpipコマンドを発行できます。

sh

1python3.6 -m pip install requests

投稿2021/07/13 18:27

編集2021/07/14 01:24
etherbeg

総合スコア1195

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

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

Yukika

2021/07/16 10:13

ご回答頂き、ありがとうございます。 Python3.9.2をアンインストールせず、衝突せず利用できるとのことで安心いたしました。 Pythonコマンドについてのアドバイスも詳しく教えて頂き、ありがとうございました。
guest

0

どっちか言うと、みなさん別バージョンのPythonがインストールされてしまって困ってる、というのが多いようです

気をつけないといけないのが、普段使ってるPythonと、pipなどのツールが別のものを使ってしまって、モジュール入れたはずなのに使えない、ってことが起こります

投稿2021/07/13 22:58

y_waiwai

総合スコア88024

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

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

Yukika

2021/07/16 10:14

ご回答頂き、ありがとうございます。 モジュールの入れ先に注意して作業を進めたいと思います。
guest

0

pyenvという複数のバージョンのPythonを切り替えられるツールがあります。

CentOS 7.5 に pyenv をインストールし、任意バージョンの Python を利用する - らくがきちょう

投稿2021/07/13 17:21

itagagaki

総合スコア8402

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

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

Yukika

2021/07/16 10:13

ご回答頂き、ありがとうございます。 複数バージョンを切り替えられるツールがあるのですね…。 また使用を検討させて頂きたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問