시스템에 설치된 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/사용자 /usr/local/openssl정의 Python이 ;에 설치되어 있으므로 bin 디렉토리는 /usr/local/openssl/bin;

관련 정보