Virtualenv: 'site' n'a pas d'attribut "getsitepackages"

Créé le 24 févr. 2012  ·  4Commentaires  ·  Source: pypa/virtualenv

Tout virtualenv, avec ou sans --system-site-packages , me donne :

% python -c 'import site; site.getsitepackages()'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute 'getsitepackages'

Commentaire le plus utile

Oui, l'un des aspects les plus laids de l'implémentation de virtualenv est qu'il doit avoir sa propre copie du module de site, qui est utilisé pour tous les virtualenvs quelle que soit la version de Python avec laquelle ils sont créés. Et cette copie est antérieure à l'ajout de site.getsitepackages() (ajouté pour la première fois dans Python 2.7, je crois).

Je n'aurais aucune objection à ce qu'une demande d'extraction ajoute cette fonction au module de site de virtualenv, tant que l'implémentation est celle qui peut fonctionner sur toutes les versions de Python prises en charge par virtualenv (2.4 à 3.3a). Ou si c'est trop difficile en raison d'API manquantes dans d'autres domaines des versions antérieures de Python, faites-le peut-être défini de manière conditionnelle en fonction de sys.version ou quelque chose.

Tous les 4 commentaires

Oui, l'un des aspects les plus laids de l'implémentation de virtualenv est qu'il doit avoir sa propre copie du module de site, qui est utilisé pour tous les virtualenvs quelle que soit la version de Python avec laquelle ils sont créés. Et cette copie est antérieure à l'ajout de site.getsitepackages() (ajouté pour la première fois dans Python 2.7, je crois).

Je n'aurais aucune objection à ce qu'une demande d'extraction ajoute cette fonction au module de site de virtualenv, tant que l'implémentation est celle qui peut fonctionner sur toutes les versions de Python prises en charge par virtualenv (2.4 à 3.3a). Ou si c'est trop difficile en raison d'API manquantes dans d'autres domaines des versions antérieures de Python, faites-le peut-être défini de manière conditionnelle en fonction de sys.version ou quelque chose.

duplicata #355

fermeture comme dupe à # 355, car il est plus générique.

avoir ce problème avec Python 3.6.5

>> python --version && python -c "import site; print(site.getsitepackages())"
Python 3.6.5
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: module 'site' has no attribute 'getsitepackages'

pas dupliqué de #355

Cette page vous a été utile?
0 / 5 - 0 notes