Domanda

Ho usato zc.buildout sempre di più e sto incontrando problemi con alcune ricette che ho soluzioni.

Questi pacchetti di solito rientrano in diverse categorie:

  1. Pacchetto senza collegamenti evidenti ad un sito del progetto
  2. pacchetto con i collegamenti per liberare servizio in hosting come GitHub o il codice di Google

Setup # 2 è meglio quindi # 1, ma non molto meglio, perché per entrambe queste situazioni, avrei dovuto aspettare per lo sviluppatore per applicare le modifiche prima di poter utilizzare il pacchetto aggiornato buildout.

Quello che ho fatto fino a questo punto è in sostanza il pacchetto che si biforcano, dandogli un nome diverso e caricarlo PyPI, ma questa è la creazione di ridondanza e io soltanto aggravare il problema.

Una soluzione possibile, è quella di utilizzare di utilizzare un indice dei pacchetti server personale dove vorrei caricare versioni aggiornate del codice fino gli aggiornamenti per gli sviluppatori lui / lei pacchetto. Questo è fattibile, ma aggiunge lavoro in più, che io preferirei evitare.

C'è un modo migliore per fare questo?

Grazie

È stato utile?

Soluzione

La soluzione di "caricare la forchetta personalizzato" suona come una pessima idea. Si dovrebbe provare http://pypi.python.org/pypi/collective.recipe.patch che consente si applica una patch automaticamente le uova. Prova la creazione di un indice compatibile Cheese Shop locale . Penso che si può anche puntare find-links = ad una directory (non solo un URL http://) contenente i versioni personali di quei "quasi buono abbastanza" pacchetti. Si può anche provare scimmia patching del pacchetto difettoso, o approfittare del modello a componenti di Zope per sostituire i bit necessari in un nuovo pacchetto. Spesso i veri autori sono elencati da qualche parte nel codice sorgente di un pacchetto, anche se hanno deciso di non mettere i loro nomi su Cheese Shop.

Ho cercato di ridurre il numero di versioni personalizzate di pacchetti che uso. Di solito io lavoro con i pacchetti personalizzati e sviluppare le uova collegando src / some.project alla mia cassa di codice che del progetto. Non ho a costruire un nuovo uovo o reinstallare ogni volta che posso modificare questi pacchetti.

Un sacco di pacchetti Python utilizzati nel buildout sono ospitati nella collettiva svn di Plone. E 'relativamente facile da ottenere l'accesso commit a quel repository.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top