virtualenv]1 kullanarak, projelerimi Python'un varsayılan sürümü (2.7) ile çalıştırıyorum. Bir projede Python 3.4 kullanmam gerekiyor.
Mac'ime yüklemek için brew install python3
kullandım. Şimdi, yeni sürümü kullanan bir virtualenv nasıl oluşturabilirim?
örneğin sudo virtualenv envPython3
Eğer denersem:
virtualenv -p python3 test
Anladım:
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local/Cellar/python3/3.4.0_1/Frameworks/Python.framework/Versions/3.4'
New python executable in test/bin/python3.4
Also creating executable in test/bin/python
Failed to import the site module
Traceback (most recent call last):
File "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/site.py", line 67, in <module>
import os
File "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/os.py", line 634, in <module>
from _collections_abc import MutableMapping
ImportError: No module named '_collections_abc'
ERROR: The executable test/bin/python3.4 is not functioning
ERROR: It thinks sys.prefix is '/Users/user/Documents/workspace/test' (should be '/Users/user/Documents/workspace/test/test')
ERROR: virtualenv is not compatible with this system or executable
sadece koş
virtualenv -p python3 envname
OP'nin düzenlemesinden sonra güncelleme:
OP'nin virtualenv sürümünde burada açıklandığı gibi bir hata vardı. Sorun çalıştırılarak düzeltildi:
pip install --upgrade virtualenv
Python 3, sanal ortamlar için yerleşik bir desteğe sahiptir - venv. Bunun yerine bunu kullanmak daha iyi olabilir. Dokümanlara bakarak:
Sanal ortamların oluşturulması pyvenv komutu çalıştırılarak yapılır senaryo:
pyvenv /path/to/new/virtual/environment
Python 3.6 ve daha yenisi için güncelleme:
pawciobiel]2 doğru yorumlar olarak, pyvenv
Python 3.6'dan itibaren kullanımdan kaldırılmıştır ve yeni yol şudur:
python3 -m venv /path/to/new/virtual/environment
Diğer yanıtlara ek olarak, hangi virtualenv örneğini çalıştırdığınızı kontrol etmenizi öneririm:
which virtualenv
Eğer bu /usr/local/bin içinde bir şey ortaya çıkarırsa, virtualenv'i (muhtemelen easy_tools veya pip'in bir örneğini kullanarak) sisteminizin paket yöneticisini (OP'nin durumunda brew) kullanmadan yüklemiş olabilirsiniz - hatta muhtemelen. Benim sorunum da buydu.
Yıllar önce - daha da cahil olduğum zamanlarda - virtualenv'i kurmuştum ve sistemimin paket tarafından sağlanan virtualenv'ini maskeliyordu.
Bu eski, bozuk virtualenv'i kaldırdıktan sonra sorunlarım ortadan kalktı.