0
votes

Virtualenv peut-il inclure les forfaits de projet nécessaires à partir de packages de site

Ligne de commande en cours d'exécution:

virtualenv --system-site-packages venv


0 commentaires

3 Réponses :


0
votes

- packages de site system ne copie pas les paquets, il permet simplement à Python de la Virtualenv d'accéder aux packages dans C: \ users \ xxx \ appdata \ local \ programmes \ Python \ python36 \ lib \ sites-packages \ .

Il n'y a aucun moyen de copier des packages car ils pourraient dépendre de leur répertoire d'installation. Si vous souhaitez que ces packages dans le virtualV n'utilisent pas - Site-Site-packages et installez tous les packages dans le virtualenv.


5 commentaires

Bonjour, merci beaucoup pour vos commentaires. Je ne sais pas bien comprendre le but d'une enventa virtuelle si lors de la création, il n'y a pas de ligne de commande qui peut installer les packages nécessaires au projet. Nous pouvons lire sur docs.python-guide.org/dev/virtualenvs que " Virtualenv est un outil permettant de créer des environnements de python isolé. Virtualenv crée un dossier contenant tous les exécutables nécessaires à utiliser les packages qu'un projet Python aurait besoin. "Mais si mon env dépend des bibliothèques externes, l'utilisation est limitée. Quelle est votre vue sur cela? Tout commandement, je manque à le faire?


Si vous avez de nombreux environnements virtuels, ils peuvent dépendre des bibliothèques externes, mais chaque venv est isolé les uns des autres. Vous pouvez avoir un VENV avec la bibliothèque xxx version 1 qui dépend de yyy version 2 et vous pouvez avoir une VENV avec la bibliothèque xxx version 2 qui dépend de la version 2 qui dépend sur yyy version 3, par exemple.


Comment "installer tous les forfaits dans le virtualv"? Pas avec la commande virtualenv? Vous voulez dire que je viens d'installer dans mon virtualenv ou je me coupe juste au-delà des paquets de mon projet "VENV \ LIF \ SITE-SITE-SITE-PACKAGES"?


Voir ma réponse, qui aborde votre dernière question.


Merci beaucoup pour votre temps. Après avoir refusé une envoi virtuelle sur une autre machine, je pourrais obtenir le résultat attendu. J'avais besoin d'activer d'abord l'ENV virtuel avant que je puisse installer les exigences. Quand je l'ai fait, il installe toute la libère au bon endroit



0
votes

Un environnement Virtualenv est le même que si vous venez d'installer une nouvelle version de Python. Il n'a pas de packages autres que les paquets standard fournis avec Python. Si vous souhaitez d'autres packages, vous devez les installer avec 'pip' ou si vous le feriez avec la version python native que vous utilisez.

SO en général, juste faire PIP INSTALL .

Si vous souhaitez souvent créer des virtualisvs avec un ensemble standard de packages de base, placez une configuration requise.txt Inscription à tous les packages que vous souhaitez installer sous forme de base et do PIP install -r requis.txt à l'intérieur d'un nouveau virtualenv, juste après la création.

Une bonne chose à propos d'un virtualenv est que c'est tout à vous. Votre utilisateur possède 100% de celui-ci, contrairement à la version de base Python qui appartient au système. Pour installer de nouveaux packages dans la version de base Python, vous devez souvent avoir un accès root (privilèges sudo). Avec Virtualenvs, vous n'avez pas besoin d'autorisations spéciales (en fait, vous obtiendrez tout votre choix si vous utilisez sudo dans un virtualenv) pour installer tous les packages que vous souhaitez. Tout ce que vous faites habite dans votre propre répertoire de base. Une autre chose nette est que lorsque vous avez terminé avec un virtualenv, vous venez de jeter le répertoire racine qui le contient.


0 commentaires

0
votes

Si ce n'est pas obligatoire d'utiliser virtualenv, je suggérerais d'aller avec Anaconda. Cela va à peu près aider votre préoccupation.

CONDA en tant que gestionnaire de paquets vous aide à trouver et à installer des packages. Par défaut, quelques paquets sont déjà installés, de manière à vous préparer rapidement pour votre projet. Pour vérifier la liste des packages installés dans la borne, tapez: Conda List pour obtenir les packages installés à l'aide de Conda.

Si vous avez besoin d'un package nécessitant une version différente de Python, vous n'avez pas besoin de passer à un autre gestionnaire d'environnement, car Conda est également responsable de l'environnement.

Avec quelques commandes seulement, vous pouvez configurer un environnement totalement séparé pour exécuter cette version différente de Python, tout en continuant à exécuter votre version habituelle de Python dans votre environnement normal


1 commentaires

Merci. La question n'était pas de trouver les forfaits dont je disposais d'installer correctement dans mon environnement virtuel en utilisant "exigences.txt". Je ne pouvais en quelque sorte pas le faire sur une machine. Les colis comparaissaient dans mon lecteur C avec python et non avec mon projet. Mais une fois que je réinstalle Python sur une autre machine et activer correctement l'environnement virtuel, j'ai pu installer les packages dans cet environnement.