#python #python-module
#python #python-module
Вопрос:
У меня локально установлен python 2.7 в ~/Python2.7 /, и мне нужен модуль psycopg2. Но когда я пытаюсь установить его с помощью easy_install или скомпилировать вручную, я получаю
error: invalid Python installation: unable to open /usr/local/lib/python2.7/config/Makefile (No such file or directory)
Я попытался изменить строку в ~/Python2.7/Lib/sysconfig.py из
return os.path.join(get_path('stdlib'), "config", "Makefile")
Для
return '/home/foo/Python2.7/Makefile'
без эффекта. Что мне сделать, чтобы обойти это?
Комментарии:
1. Попробуйте также установить easy_install локально.
2. easy_install уже был установлен локально. Честно говоря, Python не был установлен, только скомпилирован, и я только создал символическую ссылку на двоичный файл в ~/bin/ .
3. Указывает ли shebang easy_install на ваш локальный Python?
Ответ №1:
Проверьте параметры командной строки: http://packages.python.org/distribute/easy_install.html#command-line-options и попробуйте повозиться с вашим —install-каталогом . Локальная установка также должна быть выполнена в переменной окружения PYTHONPATH. Если вы пытаетесь установить все локально, попробуйте использовать pip вместо easy_install и настройте виртуальную среду (из virtualenv).
Комментарии:
1. Ну, параметры командной строки никуда не годятся … install-dir — это место, где установлен модуль, а не Python. Думаю, я все-таки попытаюсь убедить администратора установить python 2.7 глобально.
2.
virtualenv
идеально подходит для этого. Вы создаете Python из исходного кода с желаемым префиксом —, а затем вы можете использоватьvirtualenv --python /path/to/your/local/python/exe ...
для создания среды, в которой вы можете установить любой желаемый пакет, используяeasy_install
илиpip
. Без повышения привилегий! Голосую за этот ответ, поскольку в нем упоминаетсяvirtualenv
.