Найти - Пользователи
Полная версия: tornado requires an up-to-date SSL module. Please help.
Начало » Python для новичков » tornado requires an up-to-date SSL module. Please help.
1
Yust
Добрый день, коллеги!

Пытаюсь установить qtconsole.
Там внутри есть tornado. Он просит up-to-date SSL module.
Три дня…… Почему на питоне так сложно начинать? Прям руки опускаются….
Вдохновите пожалуйста… Не хочу обратно на Delphi.

Глобальная задача:
Установить все по инструкции https://github.com/USEPA/SWMM-EPANET_User_Interface/wiki/Getting-Started-as-a-Developer и запустить. Эта штука мне нужна по работе. Я пытался начать учиться по курсам, книжкам, но без реальной задачи над которой работаешь каждый день не идет….

Please help….

Заранее спасибо!
Юрий.

P.S. pyOpenSSL 17.5.0, делал по инструкции Certificate verification in Python, не помогло…
https://urllib3.readthedocs.io/en/latest/user-guide.html#certificate-verification-in-python-2
Yust
Я думаю что проблемма в urllib3.
Прикрепил warnings оторые вываливаются. Я пытался их решить по инструкции
https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

но не смог.

Буду пока изучать urllib3.
https://urllib3.readthedocs.io/en/latest/index.html
DamMercul
Присмотрись к ошибке, Юрий. Я так понял, программе нужен питон свежий, или старый (2.7.9 or 3.4.x). У вас какой питон?

И да, киньте код сетапа сюда, я посмотрю что внутри.
Yust
DamMercul
Присмотрись к ошибке, Юрий. Я так понял, программе нужен питон свежий, или старый (2.7.9 or 3.4.x). У вас какой питон?И да, киньте код сетапа сюда, я посмотрю что внутри.

В том то и дело что я не могу обновить до 2.7.9, там эта проблемма с SSL как я понял решена.
Python 2.7.5-3 устанавливается из под оболочки OSGeo4W https://trac.osgeo.org/osgeo4w/ (установка этой программы это один из шагов развертывания).
Но я не смог сходу через Google на этом сайте найти ответ .

DamMercul
я извиняюсь за мою некомпетентность, я не знаю что такое “код сетапа”.

Расскажите пожалуйста подробнее/пошагово что мне нужно сделать….

Спасибо за помощь!
Yust
Сто пудово я не не один такой, фух, а то я думал только я такой не везучий….
https://trac.osgeo.org/osgeo4w/ticket/563

Там просят сделать upgrade до python 2.7.10 дабы решить проблеммы в том числе SSL.

Значит это проблемма именно старой версии Python которая обернута в OSGeo4w.

Буду искать решение прежде всего на их сайте.
papuas
Yust
В том то и дело что я не могу обновить до 2.7.9, там эта проблемма с SSL как я понял решена.
НУ ёлы палы.. это ж бандл с готовым набором, он уже содержит в себе разные ветки интерпретатора и все необходимые модули для работы ихнего гис.
python-core, 2.7.5-3
python3-core, 3.6.0-2

Не надо ничего руками обновлять, все должно работать из коробки.
Вот перечень всего добра:
https://download.osgeo.org/osgeo4w/x86_64/versions.html
Проверьте, что в переменной PATH нет ссылок на папки с другим Python (не из OSGeo4W)
Проверьте, что переменная PYTHONPATH не ссылается на другой Python (не из OSGeo4W)


papuas
тут инфа о изменениях пакетов - https://download.osgeo.org/osgeo4w/versions_diff-x86-x86_64.html
списки модулей можно выбирать и они будут подгружаться.
в конфиге setup.ini хранится инфа о модулях и зависимостях
https://download.osgeo.org/osgeo4w/x86_64/
насколько я понял, он формируется мышинной возней из самой программы.
 # This file is automatically generated.  If you edit it, your
# edits will be discarded next time the file is generated.
# See http://cygwin.com/setup.html for details.
т.е. если у вас что-то не работает, просто скачайте другой релиз osgeo4w.
Продукт готовый. Рашпиль не нужен.
Yust
Добрый день, коллеги.

Я понимаю что эта штука упакованна.Я и думать не решался что я что-то буду допиливать!!!!
Но! В руководстве по усановке SWMM-EPANET_User_Interface
https://github.com/USEPA/SWMM-EPANET_User_Interface/wiki/Getting-Started-as-a-Developer

есть такое: NumPy and SciPy are not correctly installed by the default pip commands,
so they need special steps: и далее идет описание того какой NumPy и SciPy нужно скачать и установить.

чуть ниже идет вот эта инструкция:
Open an OSGeo4W Shell using the icon the installer created on the desktop. Ignore insecure platform warnings and issue the following commands:
python -m pip install –upgrade pip
pip install qtconsole
pip install enum34
pip install matplotlib –upgrade
It is fine if the following two uninstall commands fail:
pip uninstall numpy
pip uninstall scipy
pip install numpy- filename downloaded above.whl
pip install scipy- filename downloaded above.whl pip install pandas- filename downloaded above.whl

Так что предварительного прочтения я понял что мне все же что то придется допиливать.
Но это не страшно при наличии адекватной инструкции как это сделать.
Самое интересное - мне уже удавалось это сделать пару месяцев назад!!!!!!

Но как я понял за последние месяцы какие то пакеты обновились (в том числе tornado
ReleasesTags
11 days ago
v5.0.1 …
b758925 zip tar.gz
24 days ago
v5.0.0 …
3fc6aec zip tar.gz
on 6 Jan
v4.5.3 …
8e9e755 zip tar.gz)

и теперь у меня не получается пройти эту инструкцию по установке.

Продолжаю искать причину.
Пока основной причиной вижу обновление tornado и не желание его работать с Python 2.7.5-3
Yust
Код setup.py tornado 5.0.1
Ошибка снова прикреплена во вложении.

#
# Copyright 2009 Facebook
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

import os
import platform
import ssl
import sys
import warnings

try:
# Use setuptools if available, for install_requires (among other things).
import setuptools
from setuptools import setup
except ImportError:
setuptools = None
from distutils.core import setup

from distutils.core import Extension

# The following code is copied from
# https://github.com/mongodb/mongo-python-driver/blob/master/setup.py
# to support installing without the extension on platforms where
# no compiler is available.
from distutils.command.build_ext import build_ext


class custom_build_ext(build_ext):
"""Allow C extension building to fail.

The C extension speeds up websocket masking, but is not essential.
"""

warning_message = """
********************************************************************
WARNING: %s could not
be compiled. No C extensions are essential for Tornado to run,
although they do result in significant speed improvements for
websockets.
%s

Here are some hints for popular operating systems:

If you are seeing this message on Linux you probably need to
install GCC and/or the Python development package for your
version of Python.

Debian and Ubuntu users should issue the following command:

$ sudo apt-get install build-essential python-dev

RedHat and CentOS users should issue the following command:

$ sudo yum install gcc python-devel

Fedora users should issue the following command:

$ sudo dnf install gcc python-devel

If you are seeing this message on OSX please read the documentation
here:

http://api.mongodb.org/python/current/installation.html#osx
********************************************************************
"""

def run(self):
try:
build_ext.run(self)
except Exception:
e = sys.exc_info()[1]
sys.stdout.write('%s\n' % str(e))
warnings.warn(self.warning_message % ("Extension modules",
"There was an issue with "
"your platform configuration"
" - see above."))

def build_extension(self, ext):
name = ext.name
try:
build_ext.build_extension(self, ext)
except Exception:
e = sys.exc_info()[1]
sys.stdout.write('%s\n' % str(e))
warnings.warn(self.warning_message % ("The %s extension "
"module" % (name,),
"The output above "
"this warning shows how "
"the compilation "
"failed."))


kwargs = {}

version = "5.0.1"

with open('README.rst') as f:
kwargs['long_description'] = f.read()

if (platform.python_implementation() == 'CPython' and
os.environ.get('TORNADO_EXTENSION') != '0'):
# This extension builds and works on pypy as well, although pypy's jit
# produces equivalent performance.
kwargs['ext_modules'] = [
Extension('tornado.speedups',
sources=['tornado/speedups.c']),
]

if os.environ.get('TORNADO_EXTENSION') != '1':
# Unless the user has specified that the extension is mandatory,
# fall back to the pure-python implementation on any build failure.
kwargs['cmdclass'] = {'build_ext': custom_build_ext}


if setuptools is not None:
# If setuptools is not available, you're on your own for dependencies.
install_requires = []
if sys.version_info < (3, 2):
install_requires.append('futures')
if sys.version_info < (3, 4):
install_requires.append('singledispatch')
if sys.version_info < (3, 5):
install_requires.append('backports_abc>=0.4')
kwargs['install_requires'] = install_requires

python_requires = '>= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, != 3.3.*'
kwargs['python_requires'] = python_requires

# Verify that the SSL module has all the modern upgrades. Check for several
# names individually since they were introduced at different versions,
# although they should all be present by Python 3.4 or 2.7.9.
if (not hasattr(ssl, 'SSLContext') or
not hasattr(ssl, 'create_default_context') or
not hasattr(ssl, 'match_hostname')):
raise ImportError("Tornado requires an up-to-date SSL module. This means "
"Python 2.7.9+ or 3.4+ (although some distributions have "
"backported the necessary changes to older versions).")

setup(
name="tornado",
version=version,
packages=["tornado", "tornado.test", "tornado.platform"],
package_data={
# data files need to be listed both here (which determines what gets
# installed) and in MANIFEST.in (which determines what gets included
# in the sdist tarball)
"tornado.test": [
"README",
"csv_translations/fr_FR.csv",
"gettext_translations/fr_FR/LC_MESSAGES/tornado_test.mo",
"gettext_translations/fr_FR/LC_MESSAGES/tornado_test.po",
"options_test.cfg",
"static/robots.txt",
"static/sample.xml",
"static/sample.xml.gz",
"static/sample.xml.bz2",
"static/dir/index.html",
"static_foo.txt",
"templates/utf8.html",
"test.crt",
"test.key",
],
},
author="Facebook",
author_email="python-tornado@googlegroups.com",
url="http://www.tornadoweb.org/",
license="http://www.apache.org/licenses/LICENSE-2.0",
description=("Tornado is a Python web framework and asynchronous networking library,"
" originally developed at FriendFeed."),
classifiers=[
'License :: OSI Approved :: Apache Software License',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
],
**kwargs
)
Yust
В связи с вышеизложенными размышлениями был скачан tornado 4.5.2, установить через консоль я не смог,
(плохо еще владею консолью) установил через PyCharm.

После этого qtconsole установилась (printscreen во вложении).

Пойду дальше разбираться с установкой https://github.com/USEPA/SWMM-EPANET_User_Interface/wiki/Getting-Started-as-a-Developer.
Всем большое спасибо за помощь и подсказки.
Ваши наводки помогли мне разобраться.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB