У меня это в моем ~/.profile:
export PYTHONPATH=/home/dev/python-files
В каталоге python-files у меня есть несколько проектов, клонированных из git-hub (колба, кривая и py-vgdl).
Всякий раз, когда я пытаюсь запустить любой из примеров в этих проектах, я получаю ошибки, похожие на следующие:
$ python ~/python-files/py-vgdl/examples/gridphysics/frogs.py
Traceback (most recent call last):
File "/home/dev/python-files/py-vgdl/examples/gridphysics/frogs.py", line 67, in <module>
from vgdl.core import VGDLParser
ImportError: No module named vgdl.core
Мне кажется, что я не должен получать это ошибка, потому что у меня установлена эта переменная среды PYTHONPATH?
Запуск интерактивного интерпретатора python:
>>> import os
>>> os.environ["PYTHONPATH"]
'/home/dev/python-files'
PYTHONPATH должен указывать на то, где находятся ваши пакеты и модули Python, а не где ваши проверки. Другими словами, если вы делаете ls "$PYTHONPATH", вы должны видеть файлы *.py (модули Python) и каталоги, содержащие файлы __init__.py (пакеты Python).
Итак, если вы хотите иметь возможность import vgdl, ваш PYTHONPATH должен выглядеть так:
PYTHONPATH=/home/dev/python-files/py-vgdl
, потому что модули vgdl Python находятся внутри py-vgdl, а не внутри python-files. [ ! d4]
Чтобы добавить другие пути, вы можете использовать : для их разделения:
PYTHONPATH="/home/dev/python-files/py-vgdl:/home/dev/python-files/something:$PYTHONPATH"
Это действительно будет работать, однако, для таких случаев использование PYTHONPATH может быть слишком сложным. Я рекомендую использовать virtualenv, который делается специально для упрощения таких ситуаций, как ваш. Что вам нужно сделать в основном:
Создать среду: virtualenv env «Активировать»: source env/bin/activate Установить пакеты: это можно сделать либо с помощью сценария pip, либо setup.py ваши пакеты. Наслаждаться.Я не даю много информации, потому что virtualenv является virtualenv , и если вам нужна помощь в чем-то, вам лучше открыть новый вопрос.
Вы также можете сделать следующее:
export PYTHONPATH=$(pwd) **or** export PYTHONPATH=${PWD}
pwd - текущий рабочий каталог.