我有一个应用程序,我正在一台服务器上开发并在另一台服务器上运行它。我的问题是将此应用程序传输到目标服务器。
该应用程序主要包含一个带有子包的大包。还有一个小的启动脚本,一个示例配置文件和一个systemd .service文件。我添加了setup.py
和MANIFEST.in
个文件来创建标准的可安装包。
这是我目前的工作流程:
:
git push
它到本地存储库:
pip install --upgrade git+http://...
它完成了这项工作,但最近我读到了这个:Where in a virtualenv does *my* code go?。我担心我可能做错了。
总的来说,我同意这个答案(缩短):
virtualenv
提供了一个python解释器实例,而不是一个应用程序实例。 .... 例如,您可能有一个多个项目 使用相同virtualenv的应用程序。
现在,我希望能够在应用程序之间共享相同的虚拟环境。我想改变我的工作流程,但我不知道如何。
我甚至不确定哪些应用程序文件应该保留在虚拟环境之外?我的整个应用程序或除了python包之外的所有东西,即脚本和配置文件?
或者我应该仅将虚拟环境用于需求包,跳过pip
并使用git checkout
安装我的应用程序?
答案 0 :(得分:0)
与此同时,我一直在寻找我的问题的答案。
我认为这是我误解的主要原因:如果目录包含__init.py__
文件,则它是一个Python包。但这并不意味着它必须在setup.py
中列为一个包。