
コンパイルし、Ubuntu 14.04にPython 2.7.9をインストールしました。その起源、、、、および。.configre
これは基本的なPython 2.7.6を上書きしたくないからです。私がインストールした2.7.9とは異なるディレクトリの他の多くのファイルは。make
make altinstall
make altinstall
/usr/local/bin/python2.7
/usr/local
閲覧ファイルソースコードインストールパッケージから:
UnixとMacシステムで同じインストールプレフィックス(設定スクリプトの--prefix引数)を使用して複数のバージョンのPythonをインストールする場合は、異なるバージョンのインストールでデフォルトのPython実行可能ファイルを上書きしないように注意する必要があります。
「make altinstall」を使用してインストールされたすべてのファイルとディレクトリにはメジャーバージョンとマイナーバージョンが含まれているため、共存できます。 "make install" は ${prefix}/bin/pythonX.Y を参照する ${prefix}/bin/python も生成します。
同じプレフィックスを使用して複数のバージョンをインストールする場合は、どのバージョン(存在する場合)が「マスター」バージョンであるかを判断する必要があります。このバージョンをインストールするには、「make install」を使用してください。他のすべてのバージョンをインストールするには、「make altinstall」を使用してください。
たとえば、2.6がメジャーバージョンのPython 2.5、2.6、および3.0をインストールするには、2.6ビルドディレクトリで「make install」を実行し、別のディレクトリで「make altinstall」を実行します。
今すぐインストールした2.7.9を削除したいと思います。
幸いなことに、まだソースコードは残っていますが、残念ながら ファイルの生成除去部分なし
$ sudo make uninstall make: *** No rule to make target `uninstall'. Stop.
それから別のアプローチを試しました。まず、ソースからdebを作成してコンパイルし、debをインストールしてから(インストールファイルを上書きしてください
make altinstall
)、debを削除します。しかし、
checkinstall
私make altinstall
がmake install
試したことは次のとおりです。$ checkinstall altinstall ... Installing with altinstall... ========================= Installation results =========================== /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: 4: /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: altinstall: not found ...
debをインストールすると、インストールプロセスが繰り返されるようにdebを作成する方法を知りたいです
make altinstall
。それともPython 2.7.9を削除する方法は?
setup.py
注: を除く最初のリンクのソースコードパッケージですinstall-sh
。README
答え1
次のコマンドはmake altinstall
-ed Python を削除します。
rm -f /usr/local/bin/python2.7
rm -f /usr/local/bin/pip2.7
rm -f /usr/local/bin/pydoc
rm -rf /usr/local/include/python2.7
rm -f /usr/local/lib/libpython2.7.a
rm -rf /usr/local/lib/python2.7
また、する必要があります
rm -f /usr/local/share/man/python2.7.1
rm -rf /usr/local/lib/pkgconfig
rm -f /usr/local/bin/idle
rm -f /usr/local/bin/easy_install-2.7
「システムPython」がインストールしたプライマリ番号とセカンダリ番号と異なる場合は効果がありましたが、make altinstall
マイクロ番号(3番目の場所)だけが異なる場合は正しく動作しません。この番号はインストールされたバイナリから除外され、2つのバージョンのpythonX.Yになります。これは常に問題となっていますが、2.7がPython2シリーズの最後のバージョンと見なされたため、ディストリビューションは2.7.Xベースのシステムユーティリティのリリースを開始し、さらに深刻になりました。
IMOでこの問題を解決する最善の方法は、問題が発生しないようにすることです。他のPythonで使用されていないディレクトリにPythonをインストールするように設定します。私のシステムから削除されました/opt/python/X.Y.Z
。
インストールされているPythonを使用して新しい環境を作成するには、次の手順を実行します[virualenv][1]
。
virtualenv --python=/opt/python/2.7.9/bin/python2.7 venv
source venv/bin/activate
または、[virtualenvwrapper][2]
シリーズの最新バージョンに使用するエイリアスがあります。
複数のバージョンでテストしている場合tox
(それを行う必要がある場合)、次のエイリアスを使用して個々のバージョンを見つけるのに役立ちます。
alias tox='PATH=/opt/python/2.7.9/bin:/opt/python/2.6.9/bin:/opt/python/3.4.3/bin:/opt/python/3.3.6/bin:/opt/python/3.5-dev/bin:$PATH tox'
/opt/python/2.7
(現在は最新バージョンです。新しいPythonバージョンをダウンロード、ビルド、インストールする際には、最新バージョンと他の/opt/python/2.7.9
マイナーバージョンのリンクを維持して少し異なる設定を使用します)
これらのインストールは直接使用されません。それらは常に環境の基礎としてのみ使用されるため、virtualenv
通常のパスにない場合でも構いません。
答え2
@Anthonのリストから始めて、@bin-s提案を適用して最新のファイルを検索し、Python-3.6.6(すでにsourceからインストールされている)を完全にクリーンrm
アップするために、次のbashスクリプトを考えました。make altinstall
prefix='/usr/local/'
pyver='3.6'
rm -rf \
$HOME/.local/lib/Python${pyver} \
${prefix}bin/python${pyver} \
${prefix}bin/python${pyver}-config \
${prefix}bin/pip${pyver} \
${prefix}bin/pydoc \
${prefix}bin/include/python${pyver} \
${prefix}lib/libpython${pyver}.a \
${prefix}lib/python${pyver} \
${prefix}lib/pkgconfig/python-${pyver}.pc \
${prefix}lib/libpython${pyver}m.a \
${prefix}bin/python${pyver}m \
${prefix}bin/2to3-${pyver} \
${prefix}bin/python${pyver}m-config \
${prefix}bin/idle${pyver} \
${prefix}bin/pydoc${pyver} \
${prefix}bin/pyvenv-${pyver} \
${prefix}share/man/man1/python${pyver}.1 \
${prefix}include/python${pyver}m
rm -rI ${prefix}bin/pydoc ## WARN: skip if other pythons in local exist.
注意して使用してください(たとえば、すべてのキルを確認するために-I
コマンドにオプションを追加してくださいrm
)。
答え3
すべてのファイルは通常約1分でインストールされます。 「検索」を使用して、インストールされているすべてのファイルをほぼ同時に確認し、手動で「rm」することができます。お役に立てば幸いです。
find /usr/local/ -type f -newer <some latest old file>
答え4
私は最終的に次のことをしました。
- 次のように、カスタムプレフィックスを使用して削除するPythonを再構築してインストールします
$HOME/opt/Python-3.8.0
。tar tJf Python-3.8.0.tar.xz && cd Python-3.8.0 && ./configure --prefix $HOME/opt/Python-3.8.0 && make && make install
cd $HOME/opt/Python-3.8.0 && find * -type f | perl -pe's(^)(/usr/)' | sudo xargs rm
rm -rf ~/opt/Python-3.8.0