指定哪个Python版本解释可执行文件

时间:2016-09-26 13:06:42

标签: python python-3.x

我使用Python 3开发了一个生成各种可执行文件的应用程序。然后,我使用setuptools来构建和分发此应用程序,同样使用Python 3。

在测试环境中安装此应用程序时,可执行文件正在部署到bin文件夹,因此可以从系统中的任何位置调用。但是,当调用这些可执行文件时,系统会尝试使用Python 2解释器,从而导致异常。当我调用这些可执行文件时,如何确保使用Python解释器?

2 个答案:

答案 0 :(得分:0)

我确保使用Python 3运行install,并且生成的脚本包含正确的标头。我仍然从Python 2.7中获得异常。

出于绝望,我创建了一个新的Python 3虚拟环境,其中脚本开始正常工作。以前的报告显示旧的虚拟环境变得混乱,特别是during a system upgrade

供将来参考,我使用的命令:

mkvirtualenv -p /usr/bin/python3.5 venv_p3

答案 1 :(得分:-2)

您可能需要在脚本上使用bash doc,这些脚本在开头是一个小字符串,用于指定二进制文件应该解释它们。

在您的情况下,您需要在脚本的开头添加python3。 bash shell应该读取此内容并将脚本传递给#!/usr/bin/env python3 # This should work on python3 and fail on python2: print("Hello from python3!") 已安装的解释器。

示例:

$unique_boundary = md5(time());

$raw_message = $your_reply . $unique_boundary . $the_rest;