Должен ли pythonpath иметь каталоги, специфичные для python2 и python3?
Я работаю с Python 2 и Python 3 на ежедневной основе. Должен ли я добавлять пути к PYTHONPATH, которые являются специфическими для версии Python, как показано ниже, что специфично для Python 2?
/usr/local/lib/python2.7/dist-packages
Если ответ " да", то будет ли Python 3 знать, не использовать ли эти модули?
Если ответ отрицательный, то куда мне добавить указанный выше путь, если не PYTHONPATH?
1 ответ
Python 3 попытается загрузить модули из вашей PYTHONPATH и потерпит неудачу. Возможное решение этого заключается в следующем.
Установите свой PYTHONPATH на
/usr/local/lib/%PYTHON%/dist-packages
и создайте файл sitecustomize.py в каталоге, возвращаемом
python -c "import site ; print site.getsitepackages()"
со следующим содержанием:
import sys
from distutils.sysconfig import get_python_version
sys.path = [x.replace('%PYTHON%', 'python{}'.format(get_python_version()))
for x in sys.path]
Это заменит соответствующую часть имени каталога на любую версию Python.