如何运行我编译的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. 添加到之前/some/path/binPATH选择自定义 python 而不是系统 python:

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

从您提供的行来看./configure --prefix=/usr/local/openssl/,您似乎在/usr/local/openssl;下安装了自定义 Python因此 bin 目录应该是/usr/local/openssl/bin.

相关内容