Rating@Mail.ru

Форум по операционной системе GNU/Linux и свободному программному обеспечению


Текущее время: 23 сен 2017, 08:43

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Python: NumPy
Непрочитанное сообщениеДобавлено: 14 июл 2017, 18:39 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10071
Откуда: Харьков
NumPy
Цитата:
NumPy — это библиотека с открытым исходным кодом для языка программирования Python. Возможности:
- поддержка многомерных массивов (включая матрицы);
- поддержка высокоуровневых математических функций, предназначенных для работы с многомерными массивами.

Цитата:
В 1995 году программист Jim Hugunin написал библиотеку Numeric для языка Python. Библиотека развивалась при участии многих людей, среди которых были Jim Fulton, David Ascher, Paul DuBois и Konrad Hinsen. Библиотека доступна по сей день, считается вполне стабильной и полной, но устаревшей.
Предлагалось добавить Numeric в стандартную библиотеку языка Python, но Гвидо Ван Россум (автор Python) чётко дал понять, что код в его тогдашнем состоянии было невозможно поддерживать.
Кроме того, библиотека Numeric медленно обрабатывала большие массивы данных.
...

Цитата:
Сравнение с MATLAB
NumPy можно рассматривать как свободную альтернативу MATLAB. Язык программирования MATLAB внешне напоминает NumPy: оба они интерпретируемые, оба позволяют выполнять операции над массивами (матрицами), а не над скалярами. Преимущество MATLAB в наличии большого количества пакетов («тулбоксов»), например, Simulink (англ.). Для NumPy тоже существуют подобные «пакеты», например, библиотека SciPy предоставляет больше MATLAB-подобной функциональности, библиотека Matplotlib позволяет создавать графики в стиле MATLAB. И MATLAB, и NumPy для решения основных задач линейной алгебры используют код, основанный на коде библиотеки LAPACK.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Python: NumPy
Непрочитанное сообщениеДобавлено: 14 июл 2017, 18:57 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10071
Откуда: Харьков
Olej писал(а):

Пока без комментариев ;-) ... зачем? и почему?
Но:
1. После значительного перерыва возвращаюсь к работе с Pyhon (именно как с приложениями и ЯП Python, а не в качестве каких-то примочек и использования специализированных пакетов для WEB-программирования);
2. Библиотека NumPy категорически нужна для всех, кто работает с обработкой сигналов, изображений и т.д. ... Мы уже встречались с этим пакетом в теме OpenCV и компьютерное зрение, но там мы на этом специально не останавливались.
Но вопрос (и в названной теме) состоит сначала в том, что NumPy нужно сначала установить - он не входит в стандартный комплект Python ... ну а затем ещё и испытать.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Python: NumPy
Непрочитанное сообщениеДобавлено: 14 июл 2017, 19:03 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10071
Откуда: Харьков
Olej писал(а):
что NumPy нужно сначала установить

Один из способов (и он успешно проходил в названной выше теме, но в стареньком дистрибутиве) - это:
Код:
[olej@xenix ~]$ dnf list '*numpy*'
Последняя проверка окончания срока действия метаданных: 13 days, 5:50:36 назад, Sat Jul  1 13:10:25 2017.
Доступные пакеты
python-numpy-stl-doc.x86_64                                                              2.2.3-1.fc25                                                                 updates
python-numpydoc.noarch                                                                   0.5-5.fc25                                                                   fedora
python2-numpy.i686                                                                       1:1.11.2-1.fc25                                                              fedora
python2-numpy.x86_64                                                                     1:1.11.2-1.fc25                                                              fedora
python2-numpy-f2py.x86_64                                                                1:1.11.2-1.fc25                                                              fedora
python3-numpy.x86_64                                                                     1:1.11.2-1.fc25                                                              fedora
python3-numpy-f2py.x86_64                                                                1:1.11.2-1.fc25                                                              fedora
python3-numpy-stl.x86_64                                                                 2.2.3-1.fc25                                                                 updates
python3-numpydoc.noarch                                                                  0.5-5.fc25                                                                   fedora


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Python: NumPy
Непрочитанное сообщениеДобавлено: 14 июл 2017, 19:15 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10071
Откуда: Харьков
Olej писал(а):
Один из способов (и он успешно проходил в названной выше теме, но в стареньком дистрибутиве) - это:

Но именно потому, что он известен и проверен, я хочу в новой версии использовать другой, альтернативный способ - управление пакетами Python собственно средствами Python, пакет pip:
Код:
[olej@xenix authentication]$ python -m pip help

Usage:   
  /usr/bin/python -m pip <command> [options]

Commands:
  install                     Install packages.
  download                    Download 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.
  hash                        Compute hashes of package archives.
  completion                  A helper command used for command completion
  help                        Show help for commands.

General Options:
  -h, --help                  Show help.
  --isolated                  Run pip in an isolated mode, ignoring environment variables and user configuration.
  -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 <path>                Path to a verbose appending log.
  --proxy <proxy>             Specify a proxy in the form [user:passwd@]proxy.server:port.
  --retries <retries>         Maximum number of retries each connection should attempt (default 5 times).
  --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.
  --trusted-host <hostname>   Mark this host as trusted, even though it does not have valid or any HTTPS.
  --cert <path>               Path to alternate CA bundle.
  --client-cert <path>        Path to SSL client certificate, a single file containing the private key and the certificate in PEM format.
  --cache-dir <dir>           Store the cache data in <dir>.
  --no-cache-dir              Disable the cache.
  --disable-pip-version-check
                              Don't periodically check PyPI to determine whether a new version of pip is available for download. Implied with --no-index.

Код:
[olej@xenix authentication]$ python -m pip show numpy
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

И именно так оно и есть:
Код:
[olej@xenix ~]$ dnf list python*-pip*
Последняя проверка окончания срока действия метаданных: 13 days, 6:02:24 назад, Sat Jul  1 13:10:25 2017.
Установленные пакеты
python-pip.noarch                                                                     8.1.2-2.fc25                                                           @koji-override-0
python3-pip.noarch                                                                    8.1.2-2.fc25                                                           @koji-override-0
Доступные пакеты
python-django-pipeline.noarch                                                         1.3.24-5.fc25                                                          fedora         

Хотя это и весьма свежая система:
Код:
[olej@xenix authentication]$ 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


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Python: NumPy
Непрочитанное сообщениеДобавлено: 14 июл 2017, 19:23 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10071
Откуда: Харьков
Код:
[olej@xenix authentication]$ sudo pip install --upgrade pip
[sudo] пароль для olej:
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 598kB/s
Installing collected packages: pip
  Found existing installation: pip 8.1.2
    Uninstalling pip-8.1.2:
      Successfully uninstalled pip-8.1.2
Successfully installed pip-9.0.1

Код:
[olej@xenix authentication]$ pip -V
pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7)

Как я понимаю, для Python 3 нужно проделать аналогичные вещи ... но оставим это на потом. ;-)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Python: NumPy
Непрочитанное сообщениеДобавлено: 14 июл 2017, 19:31 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10071
Откуда: Харьков
Код:
[olej@xenix authentication]$ python -m pip search numpy
afnumpy (1.0)                                        - A GPU-ready drop-in replacement for numpy
...
numpngw (0.0.6)                                      - Write numpy array(s) to a PNG or animated PNG file.
numpy-stl (2.2.3)                                    - Library to make reading, writing and modifying both binary and ascii STL files easy.
numpy-sugar (1.0.47)                                 - Missing NumPy functionalities.
numpy-quaternion (2017.07.13.12.10.29.dev114912538)  -
numpy (1.13.1)                                       - NumPy: array processing for numbers, strings, records, and objects.
numpy_display (1.2.0)                                - Formats numpy matrices in an IPython Notebook
numpy_groupies (0.9.6)                               - Optimised tools for group-indexing operations: aggregated sum and more.
numpy_ringbuffer (0.2.1)                             - Ring buffer implementation for numpy
numpydoc (0.7.0)                                     - Sphinx extension to support docstrings in Numpy format
numpysane (0.8)                                      - more-reasonable core functionality for numpy
numpyson (0.4)                                       -
numpythia (0.3.0)                                    - The interface between PYTHIA and NumPy
numpyx (0.1.4)                                       - Utility functions for numpy, written in cython
...

Код:
[olej@xenix authentication]$ python -m pip search numpy | wc -l
199

Вот столько пакетов Python наворочено на сегодня вокруг NumPy! :-o


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Python: NumPy
Непрочитанное сообщениеДобавлено: 14 июл 2017, 19:35 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10071
Откуда: Харьков
Olej писал(а):
Olej писал(а):
Один из способов (и он успешно проходил в названной выше теме, но в стареньком дистрибутиве) - это:

Но именно потому, что он известен и проверен, я хочу в новой версии использовать другой, альтернативный способ - управление пакетами Python собственно средствами Python, пакет pip:

Такая установка всё равно потребует от вас прав root:
Код:
[olej@xenix authentication]$ python -m pip install numpy
Collecting numpy
  Downloading numpy-1.13.1-cp27-cp27mu-manylinux1_x86_64.whl (16.6MB)
    100% |████████████████████████████████| 16.6MB 52kB/s
Installing collected packages: numpy
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/usr/lib/python2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/usr/lib/python2.7/site-packages/pip/wheel.py", line 316, in clobber
    ensure_dir(destdir)
  File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
    os.makedirs(path)
  File "/usr/lib64/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Отказано в доступе: '/usr/lib64/python2.7/site-packages/numpy-1.13.1.dist-info'
[olej@xenix authentication]$

А вот так оно станет правильно:
Код:
[olej@xenix authentication]$ sudo python -m pip install numpy
[sudo] пароль для olej:
Collecting numpy
  Downloading numpy-1.13.1-cp27-cp27mu-manylinux1_x86_64.whl (16.6MB)
    100% |████████████████████████████████| 16.6MB 52kB/s
Installing collected packages: numpy
Successfully installed numpy-1.13.1

Код:
[olej@xenix authentication]$ pip -V
pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Python: NumPy
Непрочитанное сообщениеДобавлено: 14 июл 2017, 20:34 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10071
Откуда: Харьков
Olej писал(а):
Но именно потому, что он известен и проверен, я хочу в новой версии использовать другой, альтернативный способ - управление пакетами Python собственно средствами Python, пакет pip:

Отвлекусь чуть в сторону: то же самое, но DEB-дистрибутивы:
Код:
olej@nvidia ~ $ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description:    Linux Mint 18.1 Serena
Release:        18.1
Codename:       serena

olej@nvidia ~ $ python --version
Python 2.7.12

Здесь всё ещё хуже - здесь не установлен пакет pip:
Код:
olej@nvidia ~ $ which pip

olej@nvidia ~ $ python -m pip help
/usr/bin/python: No module named pip

Начинать нужно, получается, с его установки:
Код:
olej@nvidia ~ $ apt search python-pip
p   python-pip                      - alternative Python package installer
p   python-pip-whl                  - alternative Python package installer

olej@nvidia ~ $ apt search python3-pip
p   python3-pip                     - alternative Python package installer - Pyt

Код:
olej@nvidia ~ $ apt install python-pip
[sudo] пароль для olej:
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  python-pip-whl
Рекомендуемые пакеты:
  build-essential python-all-dev python-setuptools python-wheel
НОВЫЕ пакеты, которые будут установлены:
  python-pip python-pip-whl
обновлено 0, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 1 255 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 1 854 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python-pip-whl all 8.1.1-2ubuntu0.4 [1 110 kB]
Пол:2 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python-pip all 8.1.1-2ubuntu0.4 [144 kB]
Получено 1 255 kБ за 0с (1 578 kБ/c)
Выбор ранее не выбранного пакета python-pip-whl.
(Чтение базы данных … на данный момент установлено 309925 файлов и каталогов.)
Подготовка к распаковке …/python-pip-whl_8.1.1-2ubuntu0.4_all.deb …
Распаковывается python-pip-whl (8.1.1-2ubuntu0.4) …
Выбор ранее не выбранного пакета python-pip.
Подготовка к распаковке …/python-pip_8.1.1-2ubuntu0.4_all.deb …
Распаковывается python-pip (8.1.1-2ubuntu0.4) …
Обрабатываются триггеры для man-db (2.7.5-1) …
Настраивается пакет python-pip-whl (8.1.1-2ubuntu0.4) …
Настраивается пакет python-pip (8.1.1-2ubuntu0.4) …

Код:
olej@nvidia ~ $ which pip
/usr/bin/pip

olej@nvidia ~ $ pip -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Python: NumPy
Непрочитанное сообщениеДобавлено: 14 июл 2017, 20:41 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10071
Откуда: Харьков
Olej писал(а):
Начинать нужно, получается, с его установки:
...
Код:
olej@nvidia ~ $ pip -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)


Сразу же обновить его средствами Python (не дистрибутива) будет не лишним:
Код:
olej@nvidia ~ $ python -m pip show numpy
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Что-то он ругнулся слегка:
Код:
olej@nvidia ~ $ sudo pip install --upgrade pip
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 pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 696kB/s
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-9.0.1

Но разбираться не стал, потому как:
Код:
olej@nvidia ~ $ pip -V
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: Python: NumPy
Непрочитанное сообщениеДобавлено: 14 июл 2017, 20:48 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 10071
Откуда: Харьков
Относительно NumPy здесь картина в точности аналогичная:
Код:
olej@nvidia ~ $ python -m pip search numpy | wc -l
199

И это, пожалуй, так и должно быть, потому что определяется уже не дистрибутивом, а пакетной системой Python!
Код:
olej@nvidia ~ $ sudo python -m pip install numpy
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 numpy
  Downloading numpy-1.13.1-cp27-cp27mu-manylinux1_x86_64.whl (16.6MB)
    100% |████████████████████████████████| 16.6MB 69kB/s
Installing collected packages: numpy
Successfully installed numpy-1.13.1

Код:
olej@nvidia ~ $ python -m pip show numpy
Name: numpy
Version: 1.13.1
Summary: NumPy: array processing for numbers, strings, records, and objects.
Home-page: http://www.numpy.org
Author: NumPy Developers
Author-email: numpy-discussion@python.org
License: BSD
Location: /usr/local/lib/python2.7/dist-packages
Requires:


Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.257s | 21 Queries | GZIP : On ]