Как установить пакет для 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
А новости прочитаны?
Может это и не совсем в тему, но все-таки
Сделал, как там говорят?
с поправкой на текущую реальность, разумеется...
Да какие там PYTHON_TARGETS,
Да какие там PYTHON_TARGETS, ему руки надо отрубить вот за все эти sudo pip, потому как сей торнадо прекрасно есть в дереве.
Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"
Tzar написал(а): Да какие там
А вы сами пробовали его ставить?
Во-первых, в дереве версия не последняя.
Во-вторых, если бы вы попробовали поставить его из дерева, то увидили бы, что в дереве 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 по-умолчанию:
А рекомендуемый метод установки пакета:
Но в gentoo почему-то пакет pip для версии Python3.4 не установлен:
egorov-ey ~ # python3.4 -m
может прочитаешь-таки про PYTHON_TARGETS ?
Ну т.е. ты понял, что сказал
Ну т.е. ты понял, что сказал глупость несколько постов выше?
> Да какие там PYTHON_TARGETS
Вообще-то это мой первый пост
Вообще-то это был мой первый пост в топике, так что глупость я никак не мог сказать несколько постов выше.
А по поводу sudo pip я солидарен с коллегами.