我迫切需要一个跨平台框架,因为我有大量的.NET产品,我正在尝试移植到Linux。我已经开始使用Python / pyQt和标准库,所有这些都很顺利,直到我尝试导入非标准库。我听说了pip和easy_install,我对此完全感到困惑。
我的产品需要附带执行它们所需的一切,因此在.NET世界中,我只需将我的DLL(或许可的DLL)打包到我的产品中。
作为测试平台,我正在尝试导入名为requests https://github.com/kennethreitz/requests
的库我的程序目录中有一个__init__.py
文件和库源,但它无效。请告诉我,有一种简单的方法可以包含库而无需任何额外的软件包安装程序。
答案 0 :(得分:1)
我建议你先熟悉一下python包(参见the distutils docs .Pip只是一个直接从Internet存储库安装软件包的管理器,因此你不需要手动去下载它们。例如,正如requests
主页上“安装”中所述,您只需在终端中运行pip install requests
,而无需手动下载任何内容。
打包您的产品是一个不同的故事,您的方式取决于目标系统。在Windows上,最简单的方法是使用NSIS创建一个安装程序,它将安装所有依赖项。您可能还希望使用cx-freeze将所有依赖项(包括python解释器)拉入单个包中。
在linux上,许多依赖项已经包含在大多数发行版中。所以你应该在创建包时将它们列为需求(例如,对于ubuntu来说是deb
)。其他依赖项可能不包含在发行版的repo中,但您仍可以将它们列为setup.py
中的要求。
我无法对Mac发表评论,因为我从未使用过python,但我认为它与linux方法类似。