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'
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
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.