Ответ 1
Argh. у вас есть два питона на вашем пути, которые являются одной и той же версией? не делайте этого.
pip, easy-install и т.д. связаны с конкретной установкой python и будут использовать этот python по умолчанию. поэтому, если у вас есть системный python и система easy_install (или установлена easy_install самостоятельно с использованием системного python), то easy_install по умолчанию будет устанавливать пакеты для системного python.
лучший способ избежать этого беспорядка, imho, - использовать систему python для этой версии (вероятно, 2.7), а для других версий используйте make alt-install
при установке, которая даст вам исполняемые файлы, такие как python3.1
и как. если вам действительно нужно заменить версию, предоставленную системой, удалите ее.
как только вы это сделаете. каждый python будет иметь различное имя (заканчивается в версии), а python
останется системным.
Далее, когда вы устанавливаете easy_install, вы заметите, что существуют версии для версии (easy_install-2.7
например). используйте их. если этого не хватает, тогда установите distutils с соответствующим питоном (например, используйте python3.1
, и вы получите easy_install-3.1
). к сожалению, каждый раз, когда вы это делаете (iirc), вы перезаписываете un-versioned easy_install
, поэтому никогда не используйте это - всегда используйте версию с версией.
альтернативно, вы не смогли установить easy_install или pip для чего-либо, кроме системной версии, а затем всегда использовать virtualenv. virtualenv позволит вам указать версию python (чтобы вы могли использовать систему virtualenv для всех установленных питонов), а затем устанавливает easy_install/pip для используемого вами питона. поэтому, когда вы находитесь в виртуальной среде, все просто работает.
и я просто понял, что у меня мало опыта с пипсом, поэтому я не могу с этим справиться (за исключением того, что virtualenv действительно его предоставляет) (о чем предпочтительнее: раньше было лучше поддерживать пипс, я думаю, что в эти дни последние distutils/easy_install так же хороши, как и pip, но у pip есть еще несколько функций, которые я никогда не использовал).
отказ от ответственности: вышеизложенное связано с опытом, полученным при разработке lepl, который работает с 2.6 до 3.2, поэтому мне нужно проверить его на всех этих. насколько я знаю, то, что я описываю выше, работает для меня, но у меня нет глубоких знаний о python/easy_install/pip, поэтому у меня могут быть некоторые ошибки в рационализации/описании вещей (другими словами, я пишу все это в случае это помогает, но я немного волнуюсь, у меня есть ошибка - пожалуйста, кто-то поправьте меня, если да).