我想知道您在 Ubuntu 环境中使用 Python 方面有哪些经验可以分享?我使用过一些 Ubuntu,但是 Python 代码或库有什么特殊功能可以在 Windows 中使用而不能使用吗?
我已经发布了我在 Ubuntu 的 Python 工作中学到和使用的部分内容,但不确定我是否需要最佳实践等方面的指导。如果你能评论和评论我做得如何、改进建议或分享经验,那就太好了!我现有的代码简介位于http://www.pythonsnippet.com/snippets
提前致谢!
答案1
计算机决定什么可以做,什么不可以做。在同样的硬件上,除非有人为的阻碍,在一个操作系统上可以实现的任何事情在另一个操作系统上也可以实现。事实上,操作系统就是为了确保这一点。只要在 Windows 上安装了 Python,它就可以做 Python 在 GNU+Linux 上可以做的任何事。对于几乎所有的应用程序,您都会使用库,而这些库可以用其他语言(如 C)来编程,以提高效率。
Windows 和 Ubuntu 之间有两个主要区别:1) Ubuntu 内置了对多种语言开发的支持。正因为如此,所有内容都设计为可以使用任何语言访问。一个很好的例子是 Unity,其中所有操作都是通过 DBus 完成的,这意味着您可以使用任何语言来控制环境,而无需特殊库,尽管这会让操作变得更加简单。在 Windows 上,您必须手动安装所有必需程序才能使用该应用程序,但这样它也能正常工作。
2) Ubuntu 是免费软件。这意味着没有人会说某个库只能在 Ubuntu 上使用。恰恰相反。使用某个库的开发人员越多,该库就越有价值。Windows 则截然不同。它不仅是一个由单一实体拥有的专有操作系统,而且开发工具也是专有的,由该实体出售。这意味着他们有数十亿美元的动机确保开发人员使用不能或不容易在其他操作系统上使用的库来编写应用程序。微软已经表现出一些改变的意愿,但他们还有很长的路要走,才能满足于现状。
总之,如果您在 Ubuntu 上开发,您的应用程序将在任何桌面上运行。如果要在 Windows 上使用,则必须提供安装程序,但有程序可以自动执行该任务。如果您的应用程序依赖于直接系统交互,那么您可能需要稍微调整代码,但这不是什么大问题。这会随着时间的推移而改善。例如,我们已经看到了 Windows 的指示器服务,它使您为 Ubuntu 编写的 AppIndicator 自动显示为 Windows 系统托盘图标,而无需开发人员进行任何操作。我们应该有一个通用的解决方案。如果您的应用程序依赖 DBus 进行进程间通信,那么它也可以正常工作,因为 DBus 已经移植到 Windows。我们需要一个 DesktopCouch 服务等。这些在技术上并不困难,它们只是需要完成,而且它们会完成。
我实际上想说的是,即使作为一名开发人员,你的主要目标是 Windows,你仍然应该在 Ubuntu 上开发该软件。它不仅是一个非常舒适的环境,拥有你需要的所有工具,还有一个强大的社区为你提供支持,而且还确保你作为一名开发人员,可以随时自由地以最小的努力扩大你的受众。我特别强烈推荐使用 Python 和 GTK3。
哇,我说得太多了。:)
答案2
就 Python 而言,我还没有看到 Windows 端能做到的事情在 Linux 端做不到。编译代码组件和原生 C API 可能存在一些问题。除此之外,根据我的经验,情况基本相同。