Debian Stable("wheezy"): Python 3.4 をビルドしようとして sudo make install を実行しました。今問題がありますか?

Debian Stable("wheezy"): Python 3.4 をビルドしようとして sudo make install を実行しました。今問題がありますか?

だから私はvirtualenv仮想環境でPython 3.4.xを実行したいと思います。私は最初のステップがPython 3.4.xを構築することであることを学びました。

私はPython3.4.xの内容を抽出した/usr/bin/Python3.4.x(私が作成したフォルダ)でこれを行いました。その後、実行./configureしてmake実行しましたsudo make install。コマンドがタスクを実行している間、コア Debian 安定 Python を上書きして混乱している可能性があることに気づきました。

端末で簡単なテストを実行すると、python私はまだPython 2.7.xを使用していることがわかります。〜らしい私は大丈夫です。しかし、わかりません。sudo make uninstallPython makefileにはmakeの削除ルールは含まれていないため、同様のことを行うことはオプションではありません。

似たようなことをしても、sudo apt-get install --reinstall python再インストール時にファイルを上書きする必要がないので、安全だと感じるのにあまり役に立ちませんか?

それにもかかわらず、私はちょうど何をしたのかもしれないし、結果が何であるかもしれません。誰かが私が理解するのを助けることができますか?

最後に、私が従った指示で設定と作成に/opt/some_folderプレフィックスを使用するように提案した理由を見つけましたが、それを無視しました...そして今は...はい。

答え1

デフォルトのPythonバージョンをオーバーライドする問題がまだ存在します。

のように読む.rstsudo make altinstallオペレーティングシステムの基本バージョンを上書きするのを防ぐために使用されます。

--prefixUnixとMacシステムで同じインストールプレフィックス(configureスクリプトの引数)を使用して複数のバージョンのPythonをインストールする場合は、異なるバージョンのインストールでデフォルトのPython実行可能ファイルを上書きしないように注意する必要があります。インストールによってインストールされたすべてのファイルとディレクトリにはmake altinstallメジャーバージョンとマイナーバージョンが含まれているため、共存できます。 make installまた、生成された項目 ${prefix}/bin/python3は を参照します${prefix}/bin/pythonX.Y。同じプレフィックスを使用して複数のバージョンをインストールする場合は、どのバージョン(存在する場合)が「マスター」バージョンであるかを判断する必要があります。このバージョンをインストールするために使用されますmake install。を使用して他のすべてのバージョンをインストールしますmake altinstall

たとえば、Python 2.7、3.5、3.6(3.6がメジャーバージョン)をインストールする場合は、make install3.6ビルドディレクトリからインストールできます。

答え2

まず、virtualenvで実行するためにPythonをビルドする必要はありません。システムが提供するPython3.4.2を使用してください。

virtualenv -p /usr/bin/python3.4 /path/to/your/venv

システム実行可能ファイルおよび/またはそのライブラリを上書きすると、問題が発生する可能性があります。これをテストする1つの方法は、実行してまだ機能して/usr/bin/lsb_releaseいることを確認することです。これはすでにpython3に基づいているユーティリティの1つです(他のユーティリティはまだpython2.7に基づいています)、python3によって呼び出されるため、apt-get失敗すると問題が発生します。可能であれば、Python3を再インストールして、コンパイルとインストールのトレースの両方を上書きしてください。

Pythonを直接ビルドする必要があるというエラーメッセージが表示された場合は、共有してください。したがって、情報が変更されない場合、人々はその情報を回避できます。

関連情報