sam*_*les 1 python macos command-line objective-c
我想创建一个命令行应用程序,该应用程序将从 Mac OS X(以及最终其他平台)上的终端运行。
我可以制作 Python 脚本并让它在终端等中运行,但问题出现在用户身上。我希望用户像往常一样下载该应用程序并安装它,然后通过在终端中直接输入“appname”来调用该应用程序。
我该怎么办?我是否需要将我的 Python 文件包装在某种 Objective-C 迷你应用程序中并安装它?
谢谢!
对于 Mac OS X 上的简单命令行应用程序,您不需要将其打包为 OS X 应用程序包,这就是py2app已弃用的BundleBuilder做法。并且应用程序包不是访问命令行实用程序的正常方式,因为用户必须“进入”并在包内执行某些操作。如果您的应用程序中没有第三方 C 库依赖项,最简单的方法可能是将其打包为标准的 Distutils 发行版,扩展名为setup.py. 由于 Apple 提供了 Python 版本和setuptools最近的 OS X 版本,如果您将您的应用程序上传到Python 包索引 PyPI,用户可以在终端窗口中使用一个命令下载并安装您的应用程序:
sudo easy_install your_app_name
Run Code Online (Sandbox Code Playgroud)
默认情况下,这将安装/usr/local/bin包含在PATHOS X 用户 shell中的默认脚本。如果您不想将其上传到,PyPI您仍然可以使用easy_install从下载的文件或 URL 进行安装。您还需要考虑任何 Python 版本依赖项,以及 Apple 在您打算支持的 OS X 版本中提供的 Python。有特定于版本的easy_install-2.x命令。
同时,由于Distutils的,并使用它的更高级别的工具(pip,Distribute,setuptools等)是跨平台的,你可能不需要做任何事情来支持安装在大多数其他Unix-Y分布。
另一方面,如果您的应用程序具有特定于 Python 版本的依赖项或具有第三方库依赖项,并且您需要支持多个 OS X 版本而无法使用 Apple 提供的 Python,那么使用py2app和捆绑可能会更好建立一个特定于应用程序的 Python 副本。在这种情况下,也许您可以让用户双击下载的应用程序包,这将运行脚本以进行身份验证并创建/usr/local/bin指向应用程序包内相应脚本文件的符号链接。但是,这样做的缺点是使应用程序包路径位置依赖。如有必要,还有其他更复杂的方法可以在没有该限制的情况下执行类似操作。
| 归档时间: |
|
| 查看次数: |
754 次 |
| 最近记录: |