Как установить пакет для Python 3.x

Привет всем :)

Возникла такая проблема. У меня в системе установлено несколько версий Python:

$ eselect python list
Available Python interpreters:
[1] python2.7
[2] python3.3
[3] python3.4 *

Как видите текущий Python в системе имееет версию 3.4.
Мне необходимо установить пакет для Python -- "tornado". К сожалению пакет устанавливается в пакеты для Python версии 2.7:

$ sudo pip install tornado
Downloading/unpacking tornado
Downloading tornado-4.1.tar.gz (332kB): 332kB downloaded
Running setup.py (path:/tmp/pip_build_root/tornado/setup.py) egg_info for package tornado

Requirement already satisfied (use --upgrade to upgrade): certifi in /usr/lib64/python2.7/site-packages (from tornado)
Requirement already satisfied (use --upgrade to upgrade): backports.ssl-match-hostname in /usr/lib64/python2.7/site-packages (from tornado)
Installing collected packages: tornado
Running setup.py install for tornado
building 'tornado.speedups' extension
x86_64-pc-linux-gnu-gcc -pthread -fPIC -I/usr/include/python2.7 -c tornado/speedups.c -o build/temp.linux-x86_64-2.7/tornado/speedups.o
x86_64-pc-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,--as-needed -L. build/temp.linux-x86_64-2.7/tornado/speedups.o -L/usr/lib64 -lpython2.7 -o build/lib.linux-x86_64-2.7/tornado/speedups.so

Successfully installed tornado
Cleaning up...

Собственно вопрос, а как мне установить пакет "tornado" для Python версии 3.4?

частично решено

Нашёл частичное решение.
Для Python версии 3.3 в системе есть pip3 и pip3.3. Странно почему нет для pip3.4.
Также спасает ситуаацию использование virtualenv:

$ virtualenv -p python3.4 venv
Running virtualenv with interpreter /usr/bin/python3.4
Using base prefix '/usr'
New python executable in venv/bin/python3.4
Also creating executable in venv/bin/python
Installing setuptools, pip...done.

$ source venv/bin/activate
(venv)trunikov@titan ~/tmp/myproj $ python --version
Python 3.4.1
(venv)trunikov@titan ~/tmp/myproj $ pip install tornado
Collecting tornado
Downloading tornado-4.1.tar.gz (332kB)
100% |################################| 335kB 277kB/s
Collecting certifi (from tornado)
Downloading certifi-14.05.14.tar.gz (168kB)
100% |################################| 172kB 297kB/s
/home/trunikov/tmp/myproj/venv/lib/python3.4/site-packages/setuptools/dist.py:283: UserWarning: The version specified requires normalization, consider using '14.5.14' instead of '14.05.14'.
self.metadata.version,
Installing collected packages: certifi, tornado
Running setup.py install for certifi
/home/trunikov/tmp/myproj/venv/lib/python3.4/site-packages/setuptools/dist.py:283: UserWarning: The version specified requires normalization, consider using '14.5.14' instead of '14.05.14'.
self.metadata.version,
Running setup.py install for tornado
building 'tornado.speedups' extension
x86_64-pc-linux-gnu-gcc -pthread -fPIC -I/usr/include/python3.4 -c tornado/speedups.c -o build/temp.linux-x86_64-3.4/tornado/speedups.o
x86_64-pc-linux-gnu-gcc -pthread -shared build/temp.linux-x86_64-3.4/tornado/speedups.o -L/usr/lib64 -lpython3.4 -o build/lib.linux-x86_64-3.4/tornado/speedups.cpython-34.so
Successfully installed certifi-14.5.14 tornado-4.1

А новости прочитаны?

Может это и не совсем в тему, но все-таки

2012-11-06-PYTHON_TARGETS-deployment
  Title                     PYTHON_TARGETS deployment
  Author                    Michał Górny 
  Posted                    2012-11-06
  Revision                  1

Сделал, как там говорят?

For example, a setup enabling all major Python implementations would
look like:

	PYTHON_TARGETS="python2_7 python3_2 pypy1_9 jython2_5"

с поправкой на текущую реальность, разумеется...

Да какие там PYTHON_TARGETS,

Да какие там PYTHON_TARGETS, ему руки надо отрубить вот за все эти sudo pip, потому как сей торнадо прекрасно есть в дереве.

Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"

Tzar написал(а): Да какие там

Tzar написал(а):
Да какие там PYTHON_TARGETS, ему руки надо отрубить вот за все эти sudo pip, потому как сей торнадо прекрасно есть в дереве.

А вы сами пробовали его ставить?

Во-первых, в дереве версия не последняя.
Во-вторых, если бы вы попробовали поставить его из дерева, то увидили бы, что в дереве tornado ставится только для версии python 3.3:

>>> Installing (1 of 1) www-servers/tornado-4.0.1::gentoo

* Messages for package www-servers/tornado-4.0.1:

* Building package for python3.3 only while python3.4 is active.
* Please consider switching the active Python 3 interpreter:
*
* eselect python set --python3 python3.3
*
* Please note that after switching the active Python interpreter,
* you may need to run 'python-updater' to rebuild affected packages.
*
* For more information on PYTHON_TARGETS and python.eclass
* compatibility, please see the relevant Wiki article [1].
*
* [1] https://wiki.gentoo.org/wiki/Project:Python/PYTHON_TARGETS

И в-третьих, вы же наверное понимаете, что проблема не в конкретном пакете, а в том как вообще ставить пакеты для python3.4.

P.S. Одно из изменений в Python3.4 это то, что менеджер пакетов pip идёт с инсталлятором Python по-умолчанию:

pip is the preferred installer program. Starting with Python 3.4, it is included by default with the Python binary installers.

А рекомендуемый метод установки пакета:

python -m pip install SomePackage

Но в gentoo почему-то пакет pip для версии Python3.4 не установлен:

$ python -m pip
/usr/bin/python3.4: No module named pip

egorov-ey ~ # python3.4 -m

egorov-ey ~ # python3.4 -m pip

Usage:   
  /usr/bin/python3.4 -m pip <command> [options]

Commands:
  install                     Install packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
  search                      Search PyPI for packages.
  wheel                       Build wheels from your requirements.
  zip                         DEPRECATED. Zip individual packages.
  unzip                       DEPRECATED. Unzip individual packages.
  bundle                      DEPRECATED. Create pybundles.
  help                        Show help for commands.

General Options:
  -h, --help                  Show help.
  -v, --verbose               Give more output. Option is additive, and can be used up to 3 times.
  -V, --version               Show version and exit.
  -q, --quiet                 Give less output.
  --log-file <path>           Path to a verbose non-appending log, that only logs failures. This log is active by default at /root/.pip/pip.log.
  --log <path>                Path to a verbose appending log. This log is inactive by default.
  --proxy <proxy>             Specify a proxy in the form [user:passwd@]proxy.server:port.
  --timeout <sec>             Set the socket timeout (default 15 seconds).
  --exists-action <action>    Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup.
  --cert <path>               Path to alternate CA bundle.
egorov-ey ~ # eix -I dev-python/pip
[I] dev-python/pip
     Available versions:  1.5.6^t{tbz2} ~6.0.8^t ~6.1.1^t {PYTHON_TARGETS="pypy pypy3 python2_7 python3_3 python3_4"}
     Installed versions:  1.5.6^t{tbz2}(15:53:36 15.04.2015)(PYTHON_TARGETS="python2_7 python3_4 -pypy -pypy3 -python3_3")
     Homepage:            http://www.pip-installer.org/ http://pypi.python.org/pypi/pip/
     Description:         Installs python packages -- replacement for easy_install

может прочитаешь-таки про PYTHON_TARGETS ?

Ну т.е. ты понял, что сказал

Ну т.е. ты понял, что сказал глупость несколько постов выше?

> Да какие там PYTHON_TARGETS

Вообще-то это мой первый пост

Вообще-то это был мой первый пост в топике, так что глупость я никак не мог сказать несколько постов выше.
А по поводу sudo pip я солидарен с коллегами.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".