システムにインストールされたPythonの代わりにコンパイルされたPythonをどのように実行しますか?

システムにインストールされたPythonの代わりにコンパイルされたPythonをどのように実行しますか?

ソースからpython3.6.5をコンパイルし、次のようにコンパイルされたopensslに接続しました。

export LDFLAGS="-L/usr/local/openssl/lib/ -L/usr/local/openssl/lib64/"
export LD_LIBRARY_PATH="/usr/local/openssl/lib/:/usr/local/openssl/lib64/"
export CPPFLAGS="-I/usr/local/openssl/include -I/usr/local/openssl/include/openssl"
./configure --prefix=/usr/local/openssl/
make
make install

openssl は次のようにインストールされます。

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make
make install

/my/path/上記のガイドラインの内容は/usr/local/openssl/Ubuntu 18に組み込まれているopensslに置き換えられましたが、システムに必要な機能の一部が欠落しており、ソースからコンパイルされました。

それでは、システムPythonの代わりにコンパイルされたPythonを使用してPythonプログラムを実行したいと思います。どうすればいいですか? pythonを作成すると、myprog.pyシステムのPythonが実行されます。

答え1

次の場所にカスタムPythonがインストールされている場合/some/path

  1. Shebang行を追加すると、myscript.py実行可能なスクリプトで実行するときにカスタムPythonが選択されます。

    #!/some/path/bin/python
    import sys
    print(sys.version)
    

    スクリプトを実行します。

    $ chmod +x myscript.py
    $ ./myscript.py
    2.7.10 (default, Oct  6 2017, 22:29:07)
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]
    
  2. Python実行可能ファイルへのパスを明示的に渡すことでスクリプトを実行できます。

    $ /some/path/bin/python myscript.py
    
  3. 以前に追加すると、システムPythonの代わりにカスタムPythonが選択され/some/path/binます。PATH

    $ PATH=/some/path/bin:$PATH python myscript.py
    

提供された行によると、カスタム./configure --prefix=/usr/local/openssl/Python/usr/local/opensslが;にインストールされているので、binディレクトリは/usr/local/openssl/bin;

関連情報