用python封装科学项目



我正在尝试为python中的应用程序构建一个包。它采用anacondasklearnpandasnumpyboto等科学模块。由于对python打包非常缺乏经验,我有各种各样的问题:

1-我有一些机密文件.py在我的项目,我不想让任何人能够看到。在java中,我会定义私有文件和类,但我完全迷失在python中。处理这些私有模块的"良好实践"是什么?谁能给我链接一些教程?

2-打包应用程序的最佳方式是什么?我不想在Pypi上发布任何东西,我只需要它在谷歌应用程序引擎上执行。我尝试了一个独立的PyInstaller包,但我无法完成它,因为numpy和其他scipy包,这使得它很难。是否有一种简单的方法可以用anaconda以私有方式打包python项目?

3-因为我想在不久的将来构建更多的应用程序,我是否应该尝试制作子包以便在其他应用程序中使用它们?

  1. 如果是内部内容,约定以单个下划线_开头。注意,这是一个约定。如果有人真的想用它,他们仍然可以。你的代码不是严格保密的

  2. 看看http://python-packaging-user-guide.readthedocs.org/en/latest/。创建使用pip等工具的Python包不需要发布到pypi。你可以用setup.py文件和requirements.txt文件创建一个项目,然后使用pip从任何你有它的地方安装你的包(例如,本地目录或github上的存储库)。如果你采用这种方法,那么pip会安装你列出的所有依赖项。

  3. 如果您想重用您的包,只需将其包含在requirements.txt中,并将install_requires参数包含在setup.py中(参见http://python-packaging-user-guide.readthedocs.org/en/latest/requirements/)。例如,如果你安装了pip install https://github/myname/mypackage.git的包,那么你可以在将来的项目中将https://github/myname/mypackage.git包含在requirements.txt文件中。

最新更新