如何创建一个设置脚本,使python脚本在Ubuntu环境中可用



我是Python的新手。我已经做了一些python脚本,我在windows环境中编写。我想让这个脚本在Ubuntu上运行,而不需要像在windows环境中那样再次进行软件包安装。我的期望是,当我将脚本复制到Ubuntu环境中时,它将直接运行。有可能吗?

到目前为止,我写了一个setup.py来检查安装情况,但当我在Ubuntu环境中运行它时,它需要再次安装一些pip包。

import subprocess
req = {
"pip", "pyunpack", "patool", "Archive"
}

def existing_package():
result = subprocess.run(["pip", "list"], stdout=subprocess.PIPE)
result = result.stdout.decode('utf-8').split("n")
return [r.split()[0] for r in result[2:-1]]

def main():
exist = set(existing_package())
if req.issubset(exist):
print(f"✓ All package has installed successfullyn")
else:
print(f"This package {req - exist} is not installed")
input("Press Enter to install...")
for request in req - exist:
subprocess.run(["pip", "install", request])

if __name__ == "__main__":
main()

任何人都可以给我主意。非常感谢

有很多方法可以确保脚本安装了所有必需的包。最简单的方法是使用pip,这里有一个的例子

# While developing
pip install pyunpack patool Archive
pip freeze > requirements.txt
# On your (ubuntu) server
pip install -r requirements.txt

虽然这很可能会起作用,但不建议这样做,主要是因为你可能会更新Ubuntu本身使用的软件包。下面列出了实现这一点的更优雅的方法,按复杂性排序。

  • 虚拟环境
  • pyenv
  • 诗歌
  • https://docs.docker.com/language/python/build-images/

(这个列表还远远不够完整,只是我过去喜欢使用的一些工具。(

最新更新