2016-01-25 28 views
5

Ho uno situato a /home/user/virtualenvs/Environment. Ora ho bisogno di questo ambiente su un altro PC. Così ho installato virtualenv-clone e l'ho usato per clonare /Environment. Poi l'ho copiato sull'altro PC via USB. Posso attivare con source activate, ma quando provo ad avviare l'interprete Python con sudo ./Environment/bin/python ottengoCopia virtualenv completa su un altro pc

./bin/python: 1: ./bin/python: Syntax Error: "(" unexpected 

esecuzione senza sudo mi dà un errore che mi dice che c'è un errore nel formato file binari. Ma come può essere? L'ho appena copiato. O c'è un modo migliore per farlo? Non posso semplicemente usare pip freeze perché ci sono alcuni pacchetti in /Environment/lib/python2.7/site-packages/ che ho scritto io stesso e anch'io ho bisogno di copiarli. A quanto ho capito, pip freeze crea solo un elenco di pacchetti che pip quindi scarica e installa.

+0

In che modo questi pacchetti sono stati inseriti nei pacchetti del sito in primo luogo? Devi averli installati, e devono esistere nel controllo della versione da qualche parte, sicuramente. –

+0

Ho creato una cartella, aggiunto un '__init __. Py' e ho inserito i miei moduli, così posso accedervi dal mio progetto, che usa virtualenv. – vicco

+0

Beh, non dovresti farlo. Come intendi implementare queste librerie? Devi metterli da qualche parte online da cui possono essere installati, e devi comprarli in modo che possano essere installati da pip. Oppure, se sono semplicemente parte del tuo progetto, dovrebbero essere all'interno del tuo stesso progetto. –

risposta

5

fare seguenti operazioni sul computer di origine

  1. workon [environment_name]
  2. pip congelamento> requirements.txt
  3. copia requirements.txt ad altri PC

su altri PC

  1. creare un ambiente virtuale utilizzando mkvirtualenv [ environment_name]
  2. workon [environment_name]
  3. pip install requirements.txt -r

si dovrebbe fare di più!

similar questionHow to Copy/Clone a Virtual Environment from Server to Local Machine

+0

Questo copia anche i pacchetti in 'site-packages' che ho scritto da solo? – vicco

+0

Creerà una replica dell'ambiente di lavoro sul computer di origine. Scaricherà ciò di cui ha bisogno da solo –

+0

Non capisco come possa ricreare i pacchetti che ho scritto da un file di testo? Il file requirements.txt contiene solo pacchetti disponibili per il download. – vicco

1

Penso che ciò che accade è che basta copiare i link simbolici nel file di origine al computer di destinazione come file binari (nessun link più lunghi). Dovresti copiarlo usando rsync -l da copiare per mantenere quei collegamenti.