I plunge into the world of packaging Python applications and manage to get into such a state of confusion when my head starts to spin due to all the concepts and options that I have to deal with.
Question:
What do I need to do? Deploy my Python project from a source located on a git server. The deployment tool must obtain and install all the dependencies, most of which are available through PIP, and must be selected and installed through Git. The end result must be set via Pip, so I can do something like:
[~] git clone git:
Context: I'm currently trying to get Distutils2 to do what I want, but it seems that setup.py made with the generate-setup command does not play along with Pip.
I wanted to use Distutils2 as it should be the best proof for everyone. But the various documentation for all the tools is simply terrible (accurate information mixed with outdated and inaccurate information) so that the guy doubts his sanity.
So what should I do? Stick to distutils and setup.py? Or do I need to take a look at something like Buildout?
Could a kind answering machine tell me what I should do with a certain tool (for example: deploy my code using Distutils2, install dependencies using PIP, write a script for git dependencies and stick everything together, doing XYZ).
Edit: I am using Distutils2 1.0a4, which seems incompatible with documents.
Edit2: reformatted the question to make it clearer what my question really is about.
Edit3: This is my fourth attempt to break Python's batch and distribution chain. I am not trying to get other people to do their job for me, but for beginners it’s almost impossible to hack what a particular tool should do, where it starts and where the other ends. Especially because of the functional overlap between the tools. I am not located in Silicon Valley, surrounded by wise men who can initiate me in secrets, and publicly available documentation is useless.
Final Edit: Although I did not think about replacing virtualenv Buildout when running this question. But, doing my research, I understood what I always knew, but simply did not come to me with complete clarity. There are many ways to automate and automate Python deployment. There are also many tools that can help you do this. However, despite a substantial functional overlap between the tools, the tool chain is constantly evolving, and there is still no clear “standard best practice”. The distribution of arms arms races is still in full heat, and a clear winner has not yet appeared. This may confuse us, the nobles who expect most of the shit in Python to just work. What I had (distutils / setuptools + pip + virtualenv in Buildout style or even semi-integrated with Buildout) is certainly tolerable, but it just does not make much sense, and not because it is impossible, but because no one does it . If you need this level of difficulty, then you need to complete. Personally, I decided to leave virtualenv behind (for this project) and declare Buildout.