我使用Python 3开发了一个生成各种可执行文件的应用程序。然后,我使用setuptools
来构建和分发此应用程序,同样使用Python 3。
在测试环境中安装此应用程序时,可执行文件正在部署到bin
文件夹,因此可以从系统中的任何位置调用。但是,当调用这些可执行文件时,系统会尝试使用Python 2解释器,从而导致异常。当我调用这些可执行文件时,如何确保使用Python解释器?
答案 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;