Должен ли 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.

Другие вопросы по тегам