私はopenSUSE Leap 15を使用しており、以下の手順でソースからPython 3.7.2をビルドしようとしています。このガイド。
その際、私は以下の指示に従いました:
- アーカイブをダウンロード
アーカイブを
/usr/lib64/
ルートで解凍します# cd /usr/lib64 # tar xvf /home/george/Downloads/Python-3.7.2.tgz
セットアップコマンドをルートとして実行する
# cd Python-3.7.2 # ./configure --enable-optimizations --with-ensurepip=install # make -j 8 # make install
これらのコマンドはエラーを返しませんが、期待どおりには動作しません。新しい Python バイナリを にインストールすることになっていますが、そのファイルは作成されません。代わりに、ファイルは次のように/usr/bin/python3.7
配置されます。/usr/local/bin/
# ls -l /usr/local/bin/ | grep python
lrwxrwxrwx 1 root root 9 Mar 31 18:18 python3 -> python3.7
-rwxr-xr-x 2 root root 14655464 Mar 31 18:28 python3.7
lrwxrwxrwx 1 root root 17 Mar 31 18:18 python3.7-config ->
python3.7m-config
-rwxr-xr-x 2 root root 14655464 Mar 31 18:28 python3.7m
-rwxr-xr-x 1 root root 3099 Mar 31 18:29 python3.7m-config
lrwxrwxrwx 1 root root 16 Mar 31 18:18 python3-config -> python3.7-config
代わりにバイナリを取得するにはどうすればよいでしょうか/usr/bin/
?
/usr/bin/python3.7
のシンボリックリンクを作成して のシンボリックリンクを指すようにしようとしました/usr/local/bin/
が、実行するとエラーが発生します。
# python3.7
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python 3.7.2 (default, Mar 31 2019, 18:10:07)
[GCC 7.3.1 20180323 [gcc-7-branch revision 258812]] on linux
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
File "/etc/pythonstart", line 7, in <module>
import readline
ModuleNotFoundError: No module named 'readline'
>>>
これに対して仮想環境をセットアップしようとしても失敗しました。
/usr/local/bin/
にある python3.7 ファイルをすべて に移動することを検討しましたが、 python3.6 がすでにそこにあり、各バージョンには他の関連するバイナリ ファイル ( など)/usr/bin
が異なるため、懸念があります。python3.7m-config