Python: NumPy

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Python: NumPy

Непрочитанное сообщение Olej » 14 июл 2017, 21:24

И тут самое время:
Olej писал(а): ... ну а затем ещё и испытать.
Берём простейший тест, предлагаемый NumPy (wiki-описание):

Код: Выделить всё

x = linspace( 0, 2*pi, 100 )
y = sin( x )
plot( x, y, 'ro-' )
Но не так-то всё просто :-( - это только схематическое описание...
А для приведения его в соответствие, хотя бы синтаксическое, нужно переписать, например:

Код: Выделить всё

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import os
import numpy as np
from math import *
from pplot import plot

def main():
   x = np.linspace( 0, 2 * pi, 100 )
   y = np.sin( x ) # numpy.sin() но не math.sin() !
   plot( x, y, 'ro-' )


if __name__ == '__main__':
    try:
        main()
    except Exception as exc:
        sys.stderr.write( u"{}\n{}\n".format( -1, exc ) )
        sys.exit( 1 )
И установить недостающий пакет pplot, содержащий plot(), для чего:

Код: Выделить всё

olej@nvidia ~/2017_WORK/own.WORK/python $ sudo python -m pip install pplot
[sudo] пароль для olej: 
The directory '/home/olej/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/olej/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting pplot
  Downloading pplot-1.0.4-py27-none-any.whl (59kB)
    100% |████████████████████████████████| 61kB 555kB/s 
Collecting decorator>=3.4.2 (from pplot)
  Downloading decorator-4.0.11-py2.py3-none-any.whl
Collecting funcsigs>=0.4 (from pplot)
  Downloading funcsigs-1.0.2-py2.py3-none-any.whl
Requirement already satisfied: six>=1.4.0 in /usr/lib/python2.7/dist-packages (from pplot)
Collecting pycontracts!=1.7.7,>=1.7.2 (from pplot)
  Downloading PyContracts-1.7.15.tar.gz (89kB)
    100% |████████████████████████████████| 92kB 1.8MB/s 
Could not import setuptools which is required to install from a source distribution.
Please install setuptools.

Код: Выделить всё

olej@nvidia ~/2017_WORK/own.WORK/python $ sudo python -m pip install setuptools
The directory '/home/olej/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/olej/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting setuptools
  Downloading setuptools-36.2.0-py2.py3-none-any.whl (477kB)
    100% |████████████████████████████████| 481kB 1.5MB/s 
Installing collected packages: setuptools
Successfully installed setuptools-36.2.0
Повторяем:

Код: Выделить всё

olej@nvidia ~/2017_WORK/own.WORK/python $ sudo python -m pip install pplot
The directory '/home/olej/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/olej/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting pplot
  Downloading pplot-1.0.4-py27-none-any.whl (59kB)
    100% |████████████████████████████████| 61kB 594kB/s 
Collecting decorator>=3.4.2 (from pplot)
  Downloading decorator-4.0.11-py2.py3-none-any.whl
Collecting funcsigs>=0.4 (from pplot)
  Downloading funcsigs-1.0.2-py2.py3-none-any.whl
Requirement already satisfied: six>=1.4.0 in /usr/lib/python2.7/dist-packages (from pplot)
Collecting pycontracts!=1.7.7,>=1.7.2 (from pplot)
  Downloading PyContracts-1.7.15.tar.gz (89kB)
    100% |████████████████████████████████| 92kB 1.8MB/s 
Collecting matplotlib>=1.4.1 (from pplot)
  Downloading matplotlib-2.0.2-cp27-cp27mu-manylinux1_x86_64.whl (14.5MB)
    100% |████████████████████████████████| 14.5MB 74kB/s 
Collecting pmisc>=1.2.2 (from pplot)
  Downloading pmisc-1.2.2-py27-none-any.whl
Collecting scipy>=0.13.3 (from pplot)
  Downloading scipy-0.19.1-cp27-cp27mu-manylinux1_x86_64.whl (45.0MB)
    100% |████████████████████████████████| 45.0MB 22kB/s 
Requirement already satisfied: pillow>=2.6.1 in /usr/lib/python2.7/dist-packages (from pplot)
Collecting pexdoc>=1.0.9 (from pplot)
  Downloading pexdoc-1.0.9-py27-none-any.whl (52kB)
    100% |████████████████████████████████| 61kB 2.7MB/s 
Requirement already satisfied: numpy>=1.8.2 in /usr/local/lib/python2.7/dist-packages (from pplot)
Collecting peng>=1.0.6 (from pplot)
  Downloading peng-1.0.6-py27-none-any.whl (50kB)
    100% |████████████████████████████████| 51kB 2.6MB/s 
Collecting pcsv>=1.0.5 (from pplot)
  Downloading pcsv-1.0.5-py27-none-any.whl
Collecting pyparsing (from pycontracts!=1.7.7,>=1.7.2->pplot)
  Downloading pyparsing-2.2.0-py2.py3-none-any.whl (56kB)
    100% |████████████████████████████████| 61kB 3.2MB/s 
Collecting cycler>=0.10 (from matplotlib>=1.4.1->pplot)
  Downloading cycler-0.10.0-py2.py3-none-any.whl
Collecting python-dateutil (from matplotlib>=1.4.1->pplot)
  Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB)
    100% |████████████████████████████████| 194kB 2.1MB/s 
Collecting functools32 (from matplotlib>=1.4.1->pplot)
  Downloading functools32-3.2.3-2.zip
Collecting pytz (from matplotlib>=1.4.1->pplot)
  Downloading pytz-2017.2-py2.py3-none-any.whl (484kB)
    100% |████████████████████████████████| 491kB 1.6MB/s 
Collecting subprocess32 (from matplotlib>=1.4.1->pplot)
  Downloading subprocess32-3.2.7.tar.gz (54kB)
    100% |████████████████████████████████| 61kB 3.4MB/s 
Collecting pytest>=2.7.0 (from pmisc>=1.2.2->pplot)
  Downloading pytest-3.1.3-py2.py3-none-any.whl (181kB)
    100% |████████████████████████████████| 184kB 2.4MB/s 
Collecting ptrie>=1.0.6 (from pexdoc>=1.0.9->pplot)
  Downloading ptrie-1.0.6-py27-none-any.whl
Requirement already satisfied: setuptools in /usr/local/lib/python2.7/dist-packages (from pytest>=2.7.0->pmisc>=1.2.2->pplot)
Collecting py>=1.4.33 (from pytest>=2.7.0->pmisc>=1.2.2->pplot)
  Downloading py-1.4.34-py2.py3-none-any.whl (84kB)
    100% |████████████████████████████████| 92kB 3.0MB/s 
Installing collected packages: decorator, funcsigs, pyparsing, pycontracts, cycler, python-dateutil, functools32, pytz, subprocess32, matplotlib, py, pytest, pmisc, scipy, ptrie, pexdoc, peng, pcsv, pplot
  Running setup.py install for pycontracts ... done
  Running setup.py install for functools32 ... done
  Running setup.py install for subprocess32 ... done
Successfully installed cycler-0.10.0 decorator-4.0.11 funcsigs-1.0.2 functools32-3.2.3.post2 matplotlib-2.0.2 pcsv-1.0.5 peng-1.0.6 pexdoc-1.0.9 pmisc-1.2.2 pplot-1.0.4 ptrie-1.0.6 py-1.4.34 pycontracts-1.7.15 pyparsing-2.2.0 pytest-3.1.3 python-dateutil-2.6.1 pytz-2017.2 scipy-0.19.1 subprocess32-3.2.7
Теперь запуск проходит синтаксически, но:

Код: Выделить всё

olej@nvidia ~/2017_WORK/own.WORK/python $ python gsin.py 
Traceback (most recent call last):
  File "gsin.py", line 8, in <module>
    from pplot import plot
  File "/usr/local/lib/python2.7/dist-packages/pplot/__init__.py", line 18, in <module>
    from .basic_source import BasicSource
  File "/usr/local/lib/python2.7/dist-packages/pplot/basic_source.py", line 13, in <module>
    from .functions import _C, _SEL, DataSource
  File "/usr/local/lib/python2.7/dist-packages/pplot/functions.py", line 15, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 6, in <module>
    from six.moves import tkinter as Tk
  File "/usr/lib/python2.7/dist-packages/six.py", line 203, in load_module
    mod = mod._resolve()
  File "/usr/lib/python2.7/dist-packages/six.py", line 115, in _resolve
    return _import_module(self.mod)
  File "/usr/lib/python2.7/dist-packages/six.py", line 82, in _import_module
    __import__(name)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
    raise ImportError, str(msg) + ', please install the python-tk package'
ImportError: No module named _tkinter, please install the python-tk package

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Python: NumPy

Непрочитанное сообщение Olej » 14 июл 2017, 22:28

Olej писал(а):И установить недостающий пакет pplot, содержащий plot(), для чего:
Здесь уже я ... "навёл тень на плетень" - для рисования графика plot() нам нужен из пакета matplotlib, который в Mint 8.1, к примеру, установлен по умолчанию:

Код: Выделить всё

olej@nvidia ~/2017_WORK/own.WORK/python $ python -m pip list | grep matplotlib
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
matplotlib (2.0.2)
Тестовый пример превращается в:

Код: Выделить всё

# -*- coding: utf-8 -*-

import sys
import os
import numpy as np
from math import *
import matplotlib.pyplot as plt

def main():
   x = np.linspace( 0, 2 * pi, 100 )
   y = np.sin( x ) # numpy.sin() но не math.sin() !
   plt.plot( x, y, 'ro-' )
   plt.show()

if __name__ == '__main__':
    try:
        main()
    except Exception as exc:
        sys.stderr.write( u"{}\n{}\n".format( -1, exc ) )
        sys.exit( 1 )
Выполнение его показано на картинке:

Код: Выделить всё

olej@nvidia ~/2017_WORK/own.WORK/python $ python gsin.py
...
Это именно то (достаточно) для проверки работоспособности NumPy для дальнейшего использования.
Вложения
n1.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Python: NumPy

Непрочитанное сообщение Olej » 14 июл 2017, 22:39

Olej писал(а): для рисования графика plot() нам нужен из пакета matplotlib, который в Mint 8.1, к примеру, установлен по умолчанию:
Беглое описание пакета matplotlib ... которое, впрочем, вполне достаточное, если вам просто нужно нарисовать 2-3 простых графика результатов, находим здесь: Ликбез по Matplotlib (Python).
Matplotlib является ведущей библиотекой для визуализации данный в python. Название функций очень похожи на MATLAB, об этом открыто заявляют и сами разработчики. Таким образом перейти с самого популярного математического пакета на python не оставит труда.
Там по-быстренькому показано как рисовать графики: а). в декартовых координатах, б). в полярных координатах, в). гистограмму, г). точечное рассеивание, д). график в "свечах" (автор статьи, наверное, не знает что это и называет его "ящик с усами") - такой график основной у валютных спекулянтов относительно временных курсов валют.

Обстоятельное описание, для расширенного использования находим здесь: Matplotlib: Научная графика в Python:
Шабанов Павел написал замечательный электронный учебник "Научная графика в Python".
Учебник состоит из 13 глав, объединённых в 3 части.
Первая часть посвящена знакомству с библиотекой matplotlib. Здесь изложены основы по созданию графики в matplotlib с помощью модуля pyplot.
Вторая часть описывает логическую структуру рисунка в matplotlib и раскрывает особенности работы с элементами рисунка разных иерархических уровней: рисунком, областями рисования, координатными осями, делениями осей. Показаны основы работы с matplotlib в объектно-ориентированном стиле.
Третья часть посвящена специальным элементам рисунка: легенде, цветовой шкале, особым видам области рисования и координатных осей.
Но этот ресурс - только компиляция оригинального руководства, которое найдёте здесь: Электронный учебник-пособие по научной графике в python
.ipynb_checkpoints P1 and P2 4 months ago
.gitignore Initial commit 2 years ago
P1 Chapter 1 Pyplot.ipynb P1 and P2 4 months ago
P1 Chapter 2 Main graphical commands.ipynb table_of_contents 4 months ago
P1 Chapter 3 Text and Fonts.ipynb table_of_contents 4 months ago
P1 Chapter 4 Color.ipynb table_of_contents 4 months ago
P2 Chapter 5 Figure container.ipynb Update P2 Chapter 5 Figure container.ipynb 3 months ago
...
(просто щёлкайте в браузере на файле нужной вам главы ... и вам откроется ;-) )
Как видите, ресурс ещё активно обновляется.
Или можете просто полностью скачать архив: https://github.com/whitehorn/Scientific ... master.zip

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Python: NumPy

Непрочитанное сообщение Olej » 14 июл 2017, 22:47

Olej писал(а):Но этот ресурс - только компиляция оригинального руководства
Здесь же находятся несколько (достаточно вырванных из контекста, рваных) переводов NumPy ... что, тем не менее, может оказаться очень полезным введением ... например, в матричные операции.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Python: NumPy

Непрочитанное сообщение Olej » 15 июл 2017, 10:10

Olej писал(а): Это именно то (достаточно) для проверки работоспособности NumPy для дальнейшего использования.
Теперь, для полноты картины, вернёмся в RPM-дистрибутив, с которого всё и начиналось:

Код: Выделить всё

[olej@xenix python]$ lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 25 (Twenty Five)
Release:        25
Codename:       TwentyFive

[olej@xenix python]$ python gsin.py
Traceback (most recent call last):
  File "gsin.py", line 8, in <module>
    import matplotlib.pyplot as plt
ImportError: No module named matplotlib.pyplot
:-o :evil:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Python: NumPy

Непрочитанное сообщение Olej » 15 июл 2017, 10:17

Olej писал(а):
Olej писал(а): Теперь, для полноты картины, вернёмся в RPM-дистрибутив, с которого всё и начиналось:
Не вдаваясь в подробности :

Код: Выделить всё

[olej@xenix python]$ sudo python -m pip install matplotlib
[sudo] пароль для olej: 
Collecting matplotlib
  Downloading matplotlib-2.0.2-cp27-cp27mu-manylinux1_x86_64.whl (14.5MB)
    100% |████████████████████████████████| 14.5MB 55kB/s 
Collecting cycler>=0.10 (from matplotlib)
  Downloading cycler-0.10.0-py2.py3-none-any.whl
Collecting subprocess32 (from matplotlib)
  Downloading subprocess32-3.2.7.tar.gz (54kB)
    100% |████████████████████████████████| 61kB 797kB/s 
Collecting functools32 (from matplotlib)
  Downloading functools32-3.2.3-2.zip
Collecting pytz (from matplotlib)
  Downloading pytz-2017.2-py2.py3-none-any.whl (484kB)
    100% |████████████████████████████████| 491kB 581kB/s 
Requirement already satisfied: six>=1.10 in /usr/lib/python2.7/site-packages (from matplotlib)
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=1.5.6 (from matplotlib)
  Downloading pyparsing-2.2.0-py2.py3-none-any.whl (56kB)
    100% |████████████████████████████████| 61kB 993kB/s 
Requirement already satisfied: numpy>=1.7.1 in /usr/lib64/python2.7/site-packages (from matplotlib)
Requirement already satisfied: python-dateutil in /usr/lib/python2.7/site-packages (from matplotlib)
Installing collected packages: cycler, subprocess32, functools32, pytz, pyparsing, matplotlib
  Running setup.py install for subprocess32 ... error
    Complete output from command /bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-0ezRlr/subprocess32/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-nFwmEB-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    copying subprocess32.py -> build/lib.linux-x86_64-2.7
    running build_ext
    building '_posixsubprocess' extension
    creating build/temp.linux-x86_64-2.7
    gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c _posixsubprocess.c -o build/temp.linux-x86_64-2.7/_posixsubprocess.o
    gcc: ошибка: /usr/lib/rpm/redhat/redhat-hardened-cc1: Нет такого файла или каталога
    error: command 'gcc' failed with exit status 1
    
    ----------------------------------------
Command "/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-0ezRlr/subprocess32/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-nFwmEB-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-0ezRlr/subprocess32/
... здесь нас ожидает ещё один сюрприз :evil: ... с GCC.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Python: NumPy

Непрочитанное сообщение Olej » 15 июл 2017, 10:33

Olej писал(а):... здесь нас ожидает ещё один сюрприз :evil: ... с GCC.
Поехали... ;-)

Код: Выделить всё

[olej@xenix python]$ dnf provides '*/redhat-hardened-cc1'
Последняя проверка окончания срока действия метаданных: 13 days, 21:13:26 назад, Sat Jul  1 13:10:25 2017.
redhat-rpm-config-45-1.fc25.noarch : Red Hat specific rpm configuration files
Источник: updates

redhat-rpm-config-44-1.fc25.noarch : Red Hat specific rpm configuration files
Источник: fedora

Код: Выделить всё

[olej@xenix python]$ dnf list redhat-rpm-config-*
Последняя проверка окончания срока действия метаданных: 13 days, 21:15:22 назад, Sat Jul  1 13:10:25 2017.
Доступные пакеты
redhat-rpm-config.noarch                                           45-1.fc25                                            updates

Код: Выделить всё

[olej@xenix python]$ sudo dnf install redhat-rpm-config
[sudo] пароль для olej: 
Зависимости разрешены.
===============================================================================================================================
 Package                              Архитектура              Версия                          Репозиторий               Размер
===============================================================================================================================
Установка:
 dwz                                  x86_64                   0.12-2.fc24                     fedora                    107 k
 fpc-srpm-macros                      noarch                   1.0-1.fc25                      fedora                    7.6 k
 ghc-srpm-macros                      noarch                   1.4.2-4.fc25                    fedora                    8.6 k
 gnat-srpm-macros                     noarch                   4-1.fc25                        fedora                    9.0 k
 ocaml-srpm-macros                    noarch                   2-4.fc24                        fedora                    8.0 k
 perl-srpm-macros                     noarch                   1-20.fc25                       fedora                     10 k
 python-srpm-macros                   noarch                   3-12.fc25                       updates                   8.5 k
 qt5-srpm-macros                      noarch                   5.7.1-1.fc25                    updates                   7.9 k
 redhat-rpm-config                    noarch                   45-1.fc25                       updates                    60 k

Результат операции
===============================================================================================================================
Установка  9 Пакетов

Объем загрузки: 226 k
Объем изменений: 325 k
Продолжить? [д/Н]: y
Загрузка пакетов:
(1/9): fpc-srpm-macros-1.0-1.fc25.noarch.rpm                                                    28 kB/s | 7.6 kB     00:00    
(2/9): ghc-srpm-macros-1.4.2-4.fc25.noarch.rpm                                                  71 kB/s | 8.6 kB     00:00    
(3/9): dwz-0.12-2.fc24.x86_64.rpm                                                              233 kB/s | 107 kB     00:00    
(4/9): gnat-srpm-macros-4-1.fc25.noarch.rpm                                                    104 kB/s | 9.0 kB     00:00    
(5/9): perl-srpm-macros-1-20.fc25.noarch.rpm                                                   102 kB/s |  10 kB     00:00    
(6/9): redhat-rpm-config-45-1.fc25.noarch.rpm                                                   98 kB/s |  60 kB     00:00    
(7/9): ocaml-srpm-macros-2-4.fc24.noarch.rpm                                                    42 kB/s | 8.0 kB     00:00    
(8/9): python-srpm-macros-3-12.fc25.noarch.rpm                                                  87 kB/s | 8.5 kB     00:00    
(9/9): qt5-srpm-macros-5.7.1-1.fc25.noarch.rpm                                                  90 kB/s | 7.9 kB     00:00    
-------------------------------------------------------------------------------------------------------------------------------
Общий размер                                                                                   130 kB/s | 226 kB     00:01     
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
  Установка    : qt5-srpm-macros-5.7.1-1.fc25.noarch                                                                       1/9 
  Установка    : python-srpm-macros-3-12.fc25.noarch                                                                       2/9 
  Установка    : perl-srpm-macros-1-20.fc25.noarch                                                                         3/9 
  Установка    : ocaml-srpm-macros-2-4.fc24.noarch                                                                         4/9 
  Установка    : gnat-srpm-macros-4-1.fc25.noarch                                                                          5/9 
  Установка    : ghc-srpm-macros-1.4.2-4.fc25.noarch                                                                       6/9 
  Установка    : fpc-srpm-macros-1.0-1.fc25.noarch                                                                         7/9 
  Установка    : dwz-0.12-2.fc24.x86_64                                                                                    8/9 
  Установка    : redhat-rpm-config-45-1.fc25.noarch                                                                        9/9 
  Проверка     : redhat-rpm-config-45-1.fc25.noarch                                                                        1/9 
  Проверка     : dwz-0.12-2.fc24.x86_64                                                                                    2/9 
  Проверка     : fpc-srpm-macros-1.0-1.fc25.noarch                                                                         3/9 
  Проверка     : ghc-srpm-macros-1.4.2-4.fc25.noarch                                                                       4/9 
  Проверка     : gnat-srpm-macros-4-1.fc25.noarch                                                                          5/9 
  Проверка     : ocaml-srpm-macros-2-4.fc24.noarch                                                                         6/9 
  Проверка     : perl-srpm-macros-1-20.fc25.noarch                                                                         7/9 
  Проверка     : python-srpm-macros-3-12.fc25.noarch                                                                       8/9 
  Проверка     : qt5-srpm-macros-5.7.1-1.fc25.noarch                                                                       9/9 

Установлено:
  dwz.x86_64 0.12-2.fc24                    fpc-srpm-macros.noarch 1.0-1.fc25         ghc-srpm-macros.noarch 1.4.2-4.fc25      
  gnat-srpm-macros.noarch 4-1.fc25          ocaml-srpm-macros.noarch 2-4.fc24         perl-srpm-macros.noarch 1-20.fc25        
  python-srpm-macros.noarch 3-12.fc25       qt5-srpm-macros.noarch 5.7.1-1.fc25       redhat-rpm-config.noarch 45-1.fc25       

Выполнено!

Код: Выделить всё

[olej@xenix python]$ ls /usr/lib/rpm/redhat/redhat-*
/usr/lib/rpm/redhat/redhat-hardened-cc1  /usr/lib/rpm/redhat/redhat-hardened-ld
Повторяем:

Код: Выделить всё

[olej@xenix python]$ sudo python -m pip install matplotlib
[sudo] пароль для olej: 
Collecting matplotlib
  Using cached matplotlib-2.0.2-cp27-cp27mu-manylinux1_x86_64.whl
Requirement already satisfied: cycler>=0.10 in /usr/lib/python2.7/site-packages (from matplotlib)
Collecting subprocess32 (from matplotlib)
  Using cached subprocess32-3.2.7.tar.gz
Collecting functools32 (from matplotlib)
  Using cached functools32-3.2.3-2.zip
Collecting pytz (from matplotlib)
  Using cached pytz-2017.2-py2.py3-none-any.whl
Requirement already satisfied: six>=1.10 in /usr/lib/python2.7/site-packages (from matplotlib)
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=1.5.6 (from matplotlib)
  Using cached pyparsing-2.2.0-py2.py3-none-any.whl
Requirement already satisfied: numpy>=1.7.1 in /usr/lib64/python2.7/site-packages (from matplotlib)
Requirement already satisfied: python-dateutil in /usr/lib/python2.7/site-packages (from matplotlib)
Installing collected packages: subprocess32, functools32, pytz, pyparsing, matplotlib
  Running setup.py install for subprocess32 ... error
    Complete output from command /bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ATlUvu/subprocess32/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-Tmwhsa-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    copying subprocess32.py -> build/lib.linux-x86_64-2.7
    running build_ext
    building '_posixsubprocess' extension
    creating build/temp.linux-x86_64-2.7
    gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c _posixsubprocess.c -o build/temp.linux-x86_64-2.7/_posixsubprocess.o
    _posixsubprocess.c:3:20: фатальная ошибка: Python.h: Нет такого файла или каталога
     #include "Python.h"
                        ^
    компиляция прервана.
    error: command 'gcc' failed with exit status 1
    
    ----------------------------------------
Command "/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ATlUvu/subprocess32/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-Tmwhsa-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ATlUvu/subprocess32/
Это место проехали, но сшиблись на другом, на этапе компиляции GCC...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Python: NumPy

Непрочитанное сообщение Olej » 15 июл 2017, 10:39

Olej писал(а): Это место проехали, но сшиблись на другом, на этапе компиляции GCC...
А это уже проще и понятнее:

Код: Выделить всё

[olej@xenix python]$ dnf provides '*/Python.h'
Последняя проверка окончания срока действия метаданных: 13 days, 21:23:33 назад, Sat Jul  1 13:10:25 2017.
pypy-devel-5.4.0-1.fc25.i686 : Development tools for working with PyPy
Источник: fedora

pypy-devel-5.4.0-1.fc25.x86_64 : Development tools for working with PyPy
Источник: fedora

pypy3-devel-2.4.0-6.fc25.i686 : Development tools for working with PyPy3
Источник: fedora

pypy3-devel-2.4.0-6.fc25.x86_64 : Development tools for working with PyPy3
Источник: fedora

python-debug-2.7.12-7.fc25.i686 : Debug version of the Python runtime
Источник: fedora

python-debug-2.7.12-7.fc25.x86_64 : Debug version of the Python runtime
Источник: fedora
...

Код: Выделить всё

[olej@xenix python]$ dnf list python-devel
Последняя проверка окончания срока действия метаданных: 13 days, 21:24:46 назад, Sat Jul  1 13:10:25 2017.
Доступные пакеты
python-devel.i686                                              2.7.13-2.fc25                                            updates
python-devel.x86_64                                            2.7.13-2.fc25                                            updates

Код: Выделить всё

[olej@xenix python]$ sudo dnf install python-devel
[sudo] пароль для olej: 
Последняя проверка окончания срока действия метаданных: 0:09:08 назад, Sat Jul 15 10:26:48 2017.
Зависимости разрешены.
===============================================================================================================================
 Package                              Архитектура              Версия                          Репозиторий               Размер
===============================================================================================================================
Установка:
 python-devel                         x86_64                   2.7.13-2.fc25                   updates                   406 k
 python-rpm-macros                    noarch                   3-12.fc25                       updates                   8.8 k
 python2-rpm-macros                   noarch                   3-12.fc25                       updates                   8.2 k

Результат операции
===============================================================================================================================
Установка  3 Пакеты

Объем загрузки: 423 k
Объем изменений: 1.1 M
Продолжить? [д/Н]: y
Загрузка пакетов:
(1/3): python-rpm-macros-3-12.fc25.noarch.rpm                                                   37 kB/s | 8.8 kB     00:00    
(2/3): python2-rpm-macros-3-12.fc25.noarch.rpm                                                  28 kB/s | 8.2 kB     00:00    
(3/3): python-devel-2.7.13-2.fc25.x86_64.rpm                                                   481 kB/s | 406 kB     00:00    
-------------------------------------------------------------------------------------------------------------------------------
Общий размер                                                                                   222 kB/s | 423 kB     00:01     
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
  Установка    : python2-rpm-macros-3-12.fc25.noarch                                                                       1/3 
  Установка    : python-rpm-macros-3-12.fc25.noarch                                                                        2/3 
  Установка    : python-devel-2.7.13-2.fc25.x86_64                                                                         3/3 
  Проверка     : python-devel-2.7.13-2.fc25.x86_64                                                                         1/3 
  Проверка     : python-rpm-macros-3-12.fc25.noarch                                                                        2/3 
  Проверка     : python2-rpm-macros-3-12.fc25.noarch                                                                       3/3 

Установлено:
  python-devel.x86_64 2.7.13-2.fc25        python-rpm-macros.noarch 3-12.fc25        python2-rpm-macros.noarch 3-12.fc25       

Выполнено!

Код: Выделить всё

[olej@xenix python]$ sudo python -m pip install matplotlib
[sudo] пароль для olej: 
Collecting matplotlib
  Using cached matplotlib-2.0.2-cp27-cp27mu-manylinux1_x86_64.whl
Requirement already satisfied: cycler>=0.10 in /usr/lib/python2.7/site-packages (from matplotlib)
Collecting subprocess32 (from matplotlib)
  Using cached subprocess32-3.2.7.tar.gz
Collecting functools32 (from matplotlib)
  Using cached functools32-3.2.3-2.zip
Collecting pytz (from matplotlib)
  Using cached pytz-2017.2-py2.py3-none-any.whl
Requirement already satisfied: six>=1.10 in /usr/lib/python2.7/site-packages (from matplotlib)
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=1.5.6 (from matplotlib)
  Using cached pyparsing-2.2.0-py2.py3-none-any.whl
Requirement already satisfied: numpy>=1.7.1 in /usr/lib64/python2.7/site-packages (from matplotlib)
Requirement already satisfied: python-dateutil in /usr/lib/python2.7/site-packages (from matplotlib)
Installing collected packages: subprocess32, functools32, pytz, pyparsing, matplotlib
  Running setup.py install for subprocess32 ... done
  Running setup.py install for functools32 ... done
Successfully installed functools32-3.2.3.post2 matplotlib-2.0.2 pyparsing-2.2.0 pytz-2017.2 subprocess32-3.2.7

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Python: NumPy

Непрочитанное сообщение Olej » 15 июл 2017, 10:41

Olej писал(а): Теперь, для полноты картины, вернёмся в RPM-дистрибутив, с которого всё и начиналось:
Но всё опять не так сладко :lol: :cry: :

Код: Выделить всё

[olej@xenix python]$ python gsin.py 
Traceback (most recent call last):
  File "gsin.py", line 8, in <module>
    import matplotlib.pyplot as plt
  File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 6, in <module>
    from six.moves import tkinter as Tk
  File "/usr/lib/python2.7/site-packages/six.py", line 203, in load_module
    mod = mod._resolve()
  File "/usr/lib/python2.7/site-packages/six.py", line 115, in _resolve
    return _import_module(self.mod)
  File "/usr/lib/python2.7/site-packages/six.py", line 82, in _import_module
    __import__(name)
ImportError: No module named Tkinter

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Python: NumPy

Непрочитанное сообщение Olej » 15 июл 2017, 11:13

Olej писал(а): Но всё опять не так сладко :lol: :cry: :
Никакая установка (с помощью pip) пакетов Python не помогала от этой напасти...
Пока не сообразил так:

Код: Выделить всё

[olej@xenix python]$ dnf provides '*/*tkinter*'
Последняя проверка окончания срока действия метаданных: 13 days, 21:51:24 назад, Sat Jul  1 13:10:25 2017.
python2-pillow-3.4.2-1.fc25.x86_64 : Python 2 image processing library
Источник: @System
...
python3-tkinter-3.5.2-4.fc25.x86_64 : A GUI toolkit for Python 3
Источник: fedora
...
tkinter-2.7.12-7.fc25.x86_64 : A graphical user interface for the Python scripting language
Источник: fedora
...
[olej@xenix python]$ dnf list tkinter
Последняя проверка окончания срока действия метаданных: 13 days, 21:55:17 назад, Sat Jul  1 13:10:25 2017.
Доступные пакеты
tkinter.i686                                                2.7.13-2.fc25                                               updates
tkinter.x86_64                                              2.7.13-2.fc25                                               updates
И это совершенно естественно, поскольку в этой системе ещё не установлен Tcl/Tk :

Код: Выделить всё

[olej@xenix python]$ sudo dnf install tkinter
[sudo] пароль для olej: 
Последняя проверка окончания срока действия метаданных: 0:39:14 назад, Sat Jul 15 10:26:48 2017.
Зависимости разрешены.
===============================================================================================================================
 Package                     Архитектура                Версия                               Репозиторий                 Размер
===============================================================================================================================
Установка:
 tcl                         x86_64                     1:8.6.6-1.fc25                       fedora                      2.2 M
 tix                         x86_64                     1:8.4.3-17.fc24                      fedora                      259 k
 tk                          x86_64                     1:8.6.6-1.fc25                       fedora                      1.6 M
 tkinter                     x86_64                     2.7.13-2.fc25                        updates                     395 k

Результат операции
===============================================================================================================================
Установка  4 Пакеты

Объем загрузки: 4.4 M
Объем изменений: 11 M
Продолжить? [д/Н]: y
Загрузка пакетов:
(1/4): tkinter-2.7.13-2.fc25.x86_64.rpm                                                        322 kB/s | 395 kB     00:01    
(2/4): tk-8.6.6-1.fc25.x86_64.rpm                                                              297 kB/s | 1.6 MB     00:05    
(3/4): tcl-8.6.6-1.fc25.x86_64.rpm                                                             343 kB/s | 2.2 MB     00:06    
(4/4): tix-8.4.3-17.fc24.x86_64.rpm                                                             36 kB/s | 259 kB     00:07    
-------------------------------------------------------------------------------------------------------------------------------
Общий размер                                                                                   495 kB/s | 4.4 MB     00:09     
Проверка транзакции
Проверка транзакции успешно завершена.
Идет проверка транзакции
Тест транзакции проведен успешно
Выполнение транзакции
  Установка    : tcl-1:8.6.6-1.fc25.x86_64                                                                                 1/4 
  Установка    : tk-1:8.6.6-1.fc25.x86_64                                                                                  2/4 
  Установка    : tix-1:8.4.3-17.fc24.x86_64                                                                                3/4 
  Установка    : tkinter-2.7.13-2.fc25.x86_64                                                                              4/4 
  Проверка     : tkinter-2.7.13-2.fc25.x86_64                                                                              1/4 
  Проверка     : tcl-1:8.6.6-1.fc25.x86_64                                                                                 2/4 
  Проверка     : tix-1:8.4.3-17.fc24.x86_64                                                                                3/4 
  Проверка     : tk-1:8.6.6-1.fc25.x86_64                                                                                  4/4 

Установлено:
  tcl.x86_64 1:8.6.6-1.fc25     tix.x86_64 1:8.4.3-17.fc24     tk.x86_64 1:8.6.6-1.fc25     tkinter.x86_64 2.7.13-2.fc25    

Выполнено!
Проверяем:

Код: Выделить всё

[olej@xenix python]$ python
Python 2.7.13 (default, May 10 2017, 20:04:28) 
[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> Tkinter._test()
>>> 
Вложения
n3.png
n3.png (5.58 КБ) 2037 просмотров

Ответить

Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей