Virtualenv apa pun, dengan atau tanpa --system-site-packages
, memberi saya:
% python -c 'import site; site.getsitepackages()'
Traceback (most recent call last):
File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute 'getsitepackages'
Ya, salah satu aspek yang lebih buruk dari implementasi virtualenv adalah ia harus memiliki salinan modul situsnya sendiri, yang digunakan untuk semua virtualenvs terlepas dari versi Python mana mereka dibuat. Dan salinan ini mendahului penambahan site.getsitepackages()
(pertama kali ditambahkan di Python 2.7, saya percaya).
Saya tidak akan keberatan dengan permintaan tarik yang menambahkan fungsi itu ke modul situs virtualenv, selama implementasinya dapat bekerja pada semua versi Python yang didukung virtualenv (2.4 hingga 3.3a). Atau jika itu terlalu sulit karena API yang hilang di area lain dari versi Python sebelumnya, mungkin tentukan secara kondisional tergantung pada sys.version
atau sesuatu.
duplikat #355
ditutup sebagai penipuan ke #355, karena lebih umum.
memiliki masalah ini dengan 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'
bukan duplikat #355
Komentar yang paling membantu
Ya, salah satu aspek yang lebih buruk dari implementasi virtualenv adalah ia harus memiliki salinan modul situsnya sendiri, yang digunakan untuk semua virtualenvs terlepas dari versi Python mana mereka dibuat. Dan salinan ini mendahului penambahan
site.getsitepackages()
(pertama kali ditambahkan di Python 2.7, saya percaya).Saya tidak akan keberatan dengan permintaan tarik yang menambahkan fungsi itu ke modul situs virtualenv, selama implementasinya dapat bekerja pada semua versi Python yang didukung virtualenv (2.4 hingga 3.3a). Atau jika itu terlalu sulit karena API yang hilang di area lain dari versi Python sebelumnya, mungkin tentukan secara kondisional tergantung pada
sys.version
atau sesuatu.