소스에서 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
:
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)]
Python 실행 파일에 대한 경로를 명시적으로 전달하여 스크립트를 실행할 수 있습니다.
$ /some/path/bin/python myscript.py
이전에 추가하면 시스템 Python 대신 사용자 정의 Python이 선택
/some/path/bin
됩니다 .PATH
$ PATH=/some/path/bin:$PATH python myscript.py
제공한 줄에 따르면 ./configure --prefix=/usr/local/openssl/
사용자 /usr/local/openssl
정의 Python이 ;에 설치되어 있으므로 bin 디렉토리는 /usr/local/openssl/bin
;