我有一个在Linux机器(Ubuntu)上开发的Python 3脚本,但它将部署在嵌入式Linux设备上。
在我的开发机器上,我需要的包安装在一个“虚拟环境”中,但是在嵌入式设备上,包是全局安装的。设备上没有虚拟环境,因为它只用于运行这一个脚本。
我不知道我该把什么放在我的剧本上。
根据the answer to this question,在虚拟环境中运行脚本的方法应该是:
#!/usr/bin/env python但是要用Python 3运行脚本,应该是:
#!/usr/bin/python3问题是,如果我使用第一个脚本,脚本就会在我的开发机器上运行,但是在部署时不会运行。在嵌入式设备上,它试图使用Python 2运行,但失败了。当我使用第二个shebang时,脚本运行在嵌入式设备上,而不是在我的开发机器上,因为它没有在虚拟环境中使用Python 3。
,我是否可以在这两种情况下都能使用它:有和没有虚拟环境?
是的,我意识到我可以像python3 my_script.py那样运行我的脚本,而shebang并不重要。如果在这两种情况下我都做不到,我想这就是我要做的。
发布于 2019-10-10 17:20:47
你离我很近。您可以使用python3,因为指向python和python3的链接将在virtualenv的bin目录中创建。
只要这样就行了:
#!/usr/bin/env python3
...https://stackoverflow.com/questions/58324358
复制相似问题