9
votes

Comment puis-je obtenir VirtualenvWrapper et Cygwin pour coopérer?

J'essaie d'obtenir virtualenv [wrapper] pour fonctionner sur ma machine Windows via Cygwin. L'installation est réussie, avec easy_install , en fonction de ces instructions: http: //www.doughellmann.com/docs/virtualenvwrapper/ .

Le problème est entré lorsque j'utilise le mkvirtualenv [nom_of_vir_env] . Je reçois la sortie suivante: xxx

à l'intérieur du répertoire testenv , il n'y a pas de bac sous-répertoire, plutôt uniquement Lib et scripts . scripts contient activate.bat qui est censé être utilisé pour activer cet environnement particulier, cependant, si j'essaie de l'exécuter via bash i get Une erreur: xxx

i peut quitter bash et appeler activate.bat et cette modification de l'environnement souhaité. Mais alors ne pas être dans bash Je ne peux pas utiliser la commande workon ou tout autre dans virtualenvwrapper_bashrc .

Comment puis-je Obtenez les deux pour travailler ensemble, c'est-à-dire restez dans bash afin que je puisse utiliser les commandes dans virtualenvwrapper_bashrc ?


0 commentaires

4 Réponses :


1
votes

1 commentaires

Malheureusement, il utilise le python de Cygwin, qui, à partir du 15 septembre, n'est que Python 2.6.8 au plus haut.



0
votes

Je ne connais pas Virtualenv, mais je vois ce qui ressemble à un problème de syntaxe de chemin mixte classique de Cygwin:

Votre chaîne est la suivante: xxx

mais Cygwin interpréte la barre oblique inverse comme une évasion pour le "". Caractère, produisant: xxx

dans le texte d'erreur que vous citez et est évidemment un chemin mal formé. Vérifiez votre variable d'environnement actuelle - il est probablement dans la syntaxe de chemin DOS / Windows, tandis que la partie interne est en syntaxe Cygwin / Unix.

Si tel est le cas, essayez d'utiliser OS.Path.Join pour épisser les deux parties ensemble et Voir si vous obtenez une syntaxe cohérente de cela.


0 commentaires

3
votes

Je ne suis pas expérimenté avec VirtualenvWrapper, mais utilisez virtualenv régulièrement. Je ne pense pas que l'activate.bat est destiné à être exécuté sous Cygwin, cela fonctionne lorsqu'il est exécuté dans la coque Windows ordinaire. Je pense que si vous utilisez Cygwin, vous voudrez peut-être utiliser quelque chose de plus comme bin / activer (la version pour le système d'exploitation de type UNIX).

L'environnement Cygwin au sein de Bash pourrait être considérablement différent de l'environnement standard activate.bat s'attend à ce que l'exécution de l'exécution, la recherche d'un script d'activation fonctionnant avec Bash (peut-être trouver une copie d'une version UNIX) vous permettrait probablement d'où Vous pouvez exécuter votre virtualenv à Bash.


1 commentaires

Dû utiliser. venv / scripts / activer



1
votes

Cela m'a fait pour moi:

https://bitbucket.org/cliffxuan/virtualenvwrapper-for-cyceu- Windows-Python

La vanille virtualenvwrapper ne semble pas supporter l'environnement Cygwin.

Une mise en garde Toutefois est que les scripts exécutables dans le répertoire du virtualenv ne sont exécutables que si vous les transmettez explicitement à la commande python et n'utilisez pas ~ ou quoi que ce soit d'autre que Cygwin convertit implicitement un chemin commençant par / cygdriv / c /...< / code> -Le Windows natif python ne peut pas voir ces chemins.


0 commentaires