[解決済み] Linuxで2つのバージョンのPythonを使用する方法。
質問
私のlinuxboxには2つのバージョンのpythonがあります。
$python
Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ /usr/local/bin/python2.7
Python 2.7.3 (default, Oct 8 2013, 15:53:09)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ which python
/usr/bin/python
$ ls -al /usr/bin/python
-rwxr-xr-x. 2 root root 4864 Jul 10 22:49 /usr/bin/python
どうすれば2.7をデフォルトのバージョンにすることができますか?
python
と入力すると2.7になるようにするにはどうしたらよいでしょうか?
どのように解決するのですか?
おそらく、実際にはデフォルトのPythonを変更する必要はないでしょう。
あなたのディストロは標準のシステムPythonを
/usr/bin
にインストールされ、これが存在することに依存するスクリプトがあるかもしれませんし、また、このスクリプトが
#! /usr/bin/env python
. また
通常
2.7 で Python 2.6 スクリプトを実行することは可能ですが、そのようなリスクを冒す必要がありますか?
そのうえで
/usr/bin
をいじると、パッケージマネージャがパッケージを管理する機能が壊れてしまう可能性があります。また、ディレクトリの順序を変更することで
PATH
のディレクトリの順序を変更すると、Python 以外の多くのものに影響を及ぼします。(実際、より一般的なのは
/usr/local/bin
よりも先に
/usr/bin
を先にすることは、実際に望むことかもしれません。しかし、もしそれを逆にするのであれば、おそらくそれなりの理由があるのでしょう)。
しかし、あなたは
は必要ありません。
を入力したときにシステムが 2.7 を実行するようにするために、デフォルトの Python を変更する必要があります。
python
.
まず、シェルのエイリアスを設定します。
alias python=/usr/local/bin/python2.7
これをプロンプトで入力するか、あるいはあなたの
~/.bashrc
に書くと、変更が持続します。
を入力します。
と入力します。
python
と入力すると、選択した 2.7 が実行されますが、システム上のあるプログラムが
/usr/bin/env python
でスクリプトを実行しようとすると、標準の 2.6 が実行されます。
別の方法として、単に 仮想環境 を作成し (あるいは異なるプロジェクトのために別々の venv を作成し)、venv の中で作業を行います。
関連
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] googletransがエラー 'NoneType' オブジェクトに 'group' 属性がない、と言って動かなくなった。
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] if 節の終了方法
-
[解決済み] ヒストグラム Matplotlib
-
[解決済み] Python で、クラスオブジェクトを dict にキャストするにはどうしたらいいですか?
-
[解決済み] Matplotlibのレジェンドが動作しない