指定哪个Python版本解释executab

2024-05-19 14:14:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我用python3开发了一个产生各种可执行文件的应用程序。然后我使用setuptools构建和分发这个应用程序,同样都使用python3。你知道吗

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


Tags: 文件夹应用程序可执行文件bin测试环境系统部署地方
2条回答

您可能需要在脚本上使用bashshebangs,这些脚本是开头的小字符串,指定二进制文件应该解释它们。你知道吗

在您的例子中,您需要在脚本的开头添加#!/usr/bin/env python3。bashshell应该读取这个脚本并将脚本传递给python3安装的解释器。你知道吗

示例:

#!/usr/bin/env python3

# This should work on python3 and fail on python2:
print("Hello from python3!")  

我确保install是用python3运行的,并且生成的脚本包含正确的头。不过,我还是不断收到来自python2.7的异常。你知道吗

出于绝望,我创建了一个新的python3虚拟环境,在其中脚本开始正常工作。以前有报道说,旧的虚拟环境正在失控,特别是during a system upgrade。你知道吗

为了将来的参考,我使用了以下命令:

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

相关问题 更多 >