Каждая установка Python имеет свои собственные отдельные пакеты сайтов.
Итак, если вы хотите установить их для обоих, вам необходимо установить его дважды. Способ сделать это - использовать pip3.3
и pip3.4
вместо pip3
. (Если у вас нет pip3.3
, вам придется установить его, конечно.)
Вы можете быть удивлены, почему установки каждого Python имеет свой собственные отдельный сайт-пакеты.
Отчасти причина в том, что новые версии Python часто имеют новые функции, и установщику разрешено устанавливать разные вещи в зависимости от вашей версии Python. Это не очень распространено, но нет никакого реального способа для пакета сигнализировать, что он собирается делать разные вещи для разных версий, поэтому setuptools
должен предположить, что все они будут.
Скомпилированный байт-код .pyc
также может изменяться между версиями, даже если модуль не делает ничего другого.
Но самая большая проблема, традиционно, это бинарные модули расширения C. В общем, модуль, составленный против одного libpython
, не будет работать с другой версией Python. Однако в случае 3.3+ это не всегда так - модуль, который использует только «стабильный» API, может быть скомпилирован для 3.3 и по-прежнему работает в версии 3.4 (при условии, что, конечно же, те же настройки платформы и сборки).
Python постепенно развивается, чтобы иметь дело с скомпилированных модулей (как .pyc и .so), которые могут быть разделены между установками, но это еще не там.
В тех случаях, когда вы знаете (или готовы проверить), что они совместимы, вы всегда можете настроить дополнительный каталог shared-site-packages
, настроить свой 3.3 для установки в этот каталог и настроить как 3.3, так и 3.4 на посмотри на это. Тем не менее, это обычно больше работы, чем того стоит.
В качестве дополнительной заметки: Ubuntu имеет 'numpy' (и друзей)' apt' -возможные пакеты для всех версий Python, для которых у него есть пакеты, и согласно [scipy site] (http: //www.scipy .org/install.html) с 12.10, они достаточно хороши для большинства целей. Конечно, вы, вероятно, не спрашиваете _just_ о 'numpy'; вы просто использовали его в качестве примера. – abarnert
зачем вам обоим? –