【问题标题】:Finding out the Python used to install the current package? [duplicate]找出用于安装当前包的 Python? [复制]
【发布时间】:2013-07-31 23:53:35
【问题描述】:

有没有办法以编程方式查找用于安装当前包的 Python 版本?

如果您有一个名为 mypackage 的包,并且它的 setup.py 中有类似的内容:

scripts = ["myscript.py"]

假设使用特定的 Python 版本 Python 2.x 安装带有 easy_installpip 的包:

/usr/local/bin/python2.x setup.py install

那么在myscript.py 中,你怎么知道是/usr/local/bin/python2.x 用于从myscript.py 安装mypackage,而不是系统上可用的其他Python 版本?我想知道完整路径而不仅仅是版本信息,因为我想在我的脚本中使用/usr/local/bin/python2.x

【问题讨论】:

    标签: python package pip setuptools distutils


    【解决方案1】:

    使用sys.executable

    一个字符串,给出可执行二进制文件的绝对路径 Python 解释器,在有意义的系统上。如果 Python 是 无法检索到其可执行文件 sys.executable 的真实路径 将是一个空字符串或无。

    【讨论】:

    • 将始终检索用于安装的 python,而不是环境变量中的第一个 python(如 bash 的 PATH 变量)?
    • AFAIK,它是用于运行访问sys.executable 的脚本的解释器的绝对路径,不使用PATH。那里使用的描述是sys documentation中的描述。
    【解决方案2】:

    看看sys.versionsys.version_info

    【讨论】:

    • 这告诉我版本,但我需要知道它在系统上的路径,以便我可以从myscript.py调用它
    猜你喜欢
    • 1970-01-01
    • 2019-03-12
    • 2014-07-06
    • 2011-01-19
    • 2016-12-08
    • 2019-02-10
    • 2013-02-12
    • 2013-02-22
    相关资源
    最近更新 更多