Как посмотреть версию numpy
Перейти к содержимому

Как посмотреть версию numpy

  • автор:

Установка NumPy и Python

Советую класть их все вместе в одну папку, чтобы менять только названия пакета и не менять путь.

Отслеживать
47.5k 17 17 золотых знаков 56 56 серебряных знаков 99 99 бронзовых знаков
ответ дан 10 янв 2020 в 10:02
129 8 8 бронзовых знаков
Еще с гита можно скачать github.com/numpy/numpy
10 янв 2020 в 13:19

PIP позволяет скачивать пакеты вместе со всеми зависимостями и после установить их локально.

Таким образом для переноса пакета со всеми зависимостями с онлайн-машины (с установленным python) на машину без доступа к Интернету следует:

    Убедиться, что версия python на обоих машинах совпадает,

python --version 
mkdir dist cd dist 
pip download
pip install --no-index --find-links=/path/to/dist_directory 

Ситуация усложняется, если онлайн-машина и целевая машина имеют разные версии python или ОС .
В случае с разными версиями python можно создать отдельный venv и указать нужную версию перед началом скачивания.

Более сложный вариант, который точно подойдет, если онлайн и целевая машины имеют разные ОС:

  1. Скачать пакеты на онлайн-машине при помощи pip download ,
  2. Найти среди скаченных пакетов те, в названии которых явно содержится версия python и\или ОС . Например: numpy-1.18.1- cp36-cp36m-win32 .whl,
  3. Найти в репозитории PyPI пакеты, которые имеют привязку к версии, и скачать их,
  4. Подменить скачанные пакеты в директории dist ,
  5. Продолжить с 4 пункта предыдущей инструкции.

Как проверить версию Python

Программа Python для проверки високосного года

Python — один из самых популярных языков программирования в мире. Он используется для разработки веб-сайтов, написания сценариев, машинного обучения, анализа данных и многого другого.

В этой статье объясняется, как проверить, какая версия Python установлена в вашей операционной системе с помощью командной строки. Это может быть полезно при установке приложений, написанных на Python, для которых требуется определенная версия Python.

Мы также покажем вам, как программно определить, какая версия Python установлена в системе, где выполняется скрипт Python. Например, при написании сценариев Python вам необходимо определить, поддерживает ли сценарий версию Python, установленную на компьютере пользователя.

Проверка версии Python

Python предустановлен в большинстве дистрибутивов Linux и macOS.

Чтобы узнать, какая версия Python установлена в вашей системе, введите команду python —version или python -V:

python --version

Команда выведет версию Python по умолчанию, в данном случае, то есть 2.7.15. Версия, установленная в вашей системе, может отличаться.

Python 2.7.15+

Версия Python по умолчанию будет использоваться всеми сценариями, которые установлены в качестве интерпретатора в строке сценария shebang.

В некоторых дистрибутивах Linux установлено несколько версий Python одновременно. Обычно двоичный файл Python 3 называется, python3а двоичный файл Python 2 — python или python2, но это не всегда так. Вы можете проверить, установлен ли Python 3, набрав:

python3 --version
Python 3.6.8

Хотя Python 2 хорошо поддерживается и активен, Python 3 считается настоящим и будущим языка.

На момент написания этой статьи, последним основным выпуском Python является версия 3.7.x. Скорее всего, в вашей системе установлена более старая версия Python 3. Если вы хотите установить последнюю версию, процедура зависит от операционной системы, которую вы используете.

Программная проверка версии Python

Python 2 и Python 3 принципиально разные. Код, написанный на Python 2.x, может не работать в Python 3.x.

Модуль sys, который доступен во всех версиях Python, предоставляет параметры и системные функции конкретного. sys.version_info позволяет определить версию Python, установленную в системе. Это кортеж, который содержит пять номеров версий: major, minor, micro, releaselevel и serial.

Допустим, у вас есть скрипт, который требует как минимум Python версии 3.5, и вы хотите проверить, соответствует ли система требованиям. Вы можете сделать это, просто проверив версии major и minor:

import sys if not sys.version_info.major == 3 and sys.version_info.minor >= 5: print("Этот скрипт требует Python 3.5 или выше!") print("Вы используете Python <>.<>.".format(sys.version_info.major, sys.version_info.minor)) sys.exit(1)

Если вы запустите скрипт, используя версию Python менее 3.5, он выдаст следующий вывод:

Этот скрипт требует Python 3.5 или выше! Вы используете Python 2.7.

Чтобы написать код Python, который работает под Python 3 и 2, используйте модуль future. Это позволяет вам запускать Python 3.x-совместимый код под Python 2.

Заключение

Узнать, какая версия Python установлена ​​в вашей системе, очень просто, просто введите python —version.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

NumPy в Python. Часть 1


Доброго времени суток, Хабр. Запускаю цикл статей, которые являются переводом небольшого мана по numpy, ссылочка. Приятного чтения.

Введение

NumPy это open-source модуль для python, который предоставляет общие математические и числовые операции в виде пре-скомпилированных, быстрых функций. Они объединяются в высокоуровневые пакеты. Они обеспечивают функционал, который можно сравнить с функционалом MatLab. NumPy (Numeric Python) предоставляет базовые методы для манипуляции с большими массивами и матрицами. SciPy (Scientific Python) расширяет функционал numpy огромной коллекцией полезных алгоритмов, таких как минимизация, преобразование Фурье, регрессия, и другие прикладные математические техники.

Установка

Если у вас есть Python(x, y) (Примечание переводчика: Python(x, y), это дистрибутив свободного научного и инженерного программного обеспечения для численных расчётов, анализа и визуализации данных на основе языка программирования Python и большого числа модулей (библиотек)) на платформе Windows, то вы готовы начинать. Если же нет, то после установки python, вам нужно установить пакеты самостоятельно, сначала NumPy потом SciPy. Установка доступна здесь. Следуйте установке на странице, там всё предельно понятно.

Немного дополнительной информации

Сообщество NumPy и SciPy поддерживает онлайн руководство, включающие гайды и туториалы, тут: docs.scipy.org/doc.

Импорт модуля numpy

Есть несколько путей импорта. Стандартный метод это — использовать простое выражение:

>>> import numpy

Тем не менее, для большого количества вызовов функций numpy, становится утомительно писать numpy.X снова и снова. Вместо этого намного легче сделать это так:

>>> import numpy as np

Это выражение позволяет нам получать доступ к numpy объектам используя np.X вместо numpy.X. Также можно импортировать numpy прямо в используемое пространство имен, чтобы вообще не использовать функции через точку, а вызывать их напрямую:

>>> from numpy import *

Однако, этот вариант не приветствуется в программировании на python, так как убирает некоторые полезные структуры, которые модуль предоставляет. До конца этого туториала мы будем использовать второй вариант импорта (import numpy as np).

Массивы

Главной особенностью numpy является объект array. Массивы схожи со списками в python, исключая тот факт, что элементы массива должны иметь одинаковый тип данных, как float и int. С массивами можно проводить числовые операции с большим объемом информации в разы быстрее и, главное, намного эффективнее чем со списками.

Создание массива из списка:

a = np.array([1, 4, 5, 8], float) >>> a array([ 1., 4., 5., 8.]) >>> type(a)

Здесь функция array принимает два аргумента: список для конвертации в массив и тип для каждого элемента. Ко всем элементам можно получить доступ и манипулировать ими так же, как вы бы это делали с обычными списками:

>>> a[:2] array([ 1., 4.]) >>> a[3] 8.0 >>> a[0] = 5. >>> a array([ 5., 4., 5., 8.])

Массивы могут быть и многомерными. В отличии от списков можно использовать запятые в скобках. Вот пример двумерного массива (матрица):

>>> a = np.array([[1, 2, 3], [4, 5, 6]], float) >>> a array([[ 1., 2., 3.], [ 4., 5., 6.]]) >>> a[0,0] 1.0 >>> a[0,1] 2.0

Array slicing работает с многомерными массивами аналогично, как и с одномерными, применяя каждый срез, как фильтр для установленного измерения. Используйте «:» в измерении для указывания использования всех элементов этого измерения:

>>> a = np.array([[1, 2, 3], [4, 5, 6]], float) >>> a[1,:] array([ 4., 5., 6.]) >>> a[:,2] array([ 3., 6.]) >>> a[-1:, -2:] array([[ 5., 6.]])

Метод shape возвращает количество строк и столбцов в матрице:

>>> a.shape (2, 3)

Метод dtype возвращает тип переменных, хранящихся в массиве:

>>> a.dtype dtype('float64')

Тут float64, это числовой тип данных в numpy, который используется для хранения вещественных чисел двойной точности. Так же как float в Python.

Метод len возвращает длину первого измерения (оси):

a = np.array([[1, 2, 3], [4, 5, 6]], float) >>> len(a) 2

Метод in используется для проверки на наличие элемента в массиве:

>>> a = np.array([[1, 2, 3], [4, 5, 6]], float) >>> 2 in a True >>> 0 in a False

Массивы можно переформировать при помощи метода, который задает новый многомерный массив. Следуя следующему примеру, мы переформатируем одномерный массив из десяти элементов во двумерный массив, состоящий из пяти строк и двух столбцов:

>>> a = np.array(range(10), float) >>> a array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.]) >>> a = a.reshape((5, 2)) >>> a array([[ 0., 1.], [ 2., 3.], [ 4., 5.], [ 6., 7.], [ 8., 9.]]) >>> a.shape (5, 2)

Обратите внимание, метод reshape создает новый массив, а не модифицирует оригинальный.

Имейте ввиду, связывание имен в python работает и с массивами. Метод copy используется для создания копии существующего массива в памяти:

>>> a = np.array([1, 2, 3], float) >>> b = a >>> c = a.copy() >>> a[0] = 0 >>> a array([0., 2., 3.]) >>> b array([0., 2., 3.]) >>> c array([1., 2., 3.])

Списки можно тоже создавать с массивов:

>>> a = np.array([1, 2, 3], float) >>> a.tolist() [1.0, 2.0, 3.0] >>> list(a) [1.0, 2.0, 3.0]

Можно также переконвертировать массив в бинарную строку (то есть, не human-readable форму). Используйте метод tostring для этого. Метод fromstring работает в для обратного преобразования. Эти операции иногда полезны для сохранения большого количества данных в файлах, которые могут быть считаны в будущем.

>>> a = array([1, 2, 3], float) >>> s = a.tostring() >>> s '\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@' >>> np.fromstring(s) array([ 1., 2., 3.])

Заполнение массива одинаковым значением.

>>> a = array([1, 2, 3], float) >>> a array([ 1., 2., 3.]) >>> a.fill(0) >>> a array([ 0., 0., 0.])

Транспонирование массивов также возможно, при этом создается новый массив:

>>> a = np.array(range(6), float).reshape((2, 3)) >>> a array([[ 0., 1., 2.], [ 3., 4., 5.]]) >>> a.transpose() array([[ 0., 3.], [ 1., 4.], [ 2., 5.]])

Многомерный массив можно переконвертировать в одномерный при помощи метода flatten:

>>> a = np.array([[1, 2, 3], [4, 5, 6]], float) >>> a array([[ 1., 2., 3.], [ 4., 5., 6.]]) >>> a.flatten() array([ 1., 2., 3., 4., 5., 6.]) 

Два или больше массивов можно сконкатенировать при помощи метода concatenate:

>>> a = np.array([1,2], float) >>> b = np.array([3,4,5,6], float) >>> c = np.array([7,8,9], float) >>> np.concatenate((a, b, c)) array([1., 2., 3., 4., 5., 6., 7., 8., 9.])

Если массив не одномерный, можно задать ось, по которой будет происходить соединение. По умолчанию (не задавая значения оси), соединение будет происходить по первому измерению:

>>> a = np.array([[1, 2], [3, 4]], float) >>> b = np.array([[5, 6], [7,8]], float) >>> np.concatenate((a,b)) array([[ 1., 2.], [ 3., 4.], [ 5., 6.], [ 7., 8.]]) >>> np.concatenate((a,b), axis=0) array([[ 1., 2.], [ 3., 4.], [ 5., 6.], [ 7., 8.]]) >>> np.concatenate((a,b), axis=1) array([[ 1., 2., 5., 6.], [ 3., 4., 7., 8.]])

В заключении, размерность массива может быть увеличена при использовании константы newaxis в квадратных скобках:

>>> a = np.array([1, 2, 3], float) >>> a array([1., 2., 3.]) >>> a[:,np.newaxis] array([[ 1.], [ 2.], [ 3.]]) >>> a[:,np.newaxis].shape (3,1) >>> b[np.newaxis,:] array([[ 1., 2., 3.]]) >>> b[np.newaxis,:].shape (1,3)

Заметьте, тут каждый массив двумерный; созданный при помощи newaxis имеет размерность один. Метод newaxis подходит для удобного создания надлежаще-мерных массивов в векторной и матричной математике.

На этом у нас конец первой части перевода. Спасибо за внимание.

how to check which version of nltk, scikit learn installed?

In shell script I am checking whether this packages are installed or not, if not installed then install it. So withing shell script:

import nltk echo nltk.__version__ 

but it stops shell script at import line in linux terminal tried to see in this manner:

which nltk 

which gives nothing thought it is installed. Is there any other way to verify this package installation in shell script, if not installed, also install it.

asked Feb 13, 2015 at 13:46
2,297 7 7 gold badges 27 27 silver badges 37 37 bronze badges
Why are you doing it within a shell script? Why aren’t you doing it inside a Python file?
Feb 13, 2015 at 13:47

@Ffisegydd: I have one generalized rule, where in shellscript I check for all need packages, if any package does not exist, then install it other wise skip to next check. As I need to check and execute few other python as well shellscripts, I am using it. Is using shellscript for this is bad idea?

Feb 13, 2015 at 14:02

It’ll be much more easy to test these exist using a Python script (imo). You could always call the Python script from a shell script, if you really wanted to. If you just use shell syntax then you’ll have to work out where each package is located, find the package, then parse it’s filename for the version numbers somehow.

Feb 13, 2015 at 14:04

@Ffisegydd: thanks, but in that case I have to write python script to validate each package i want to check and execute that script to validate it. as per what i understand.

Feb 13, 2015 at 14:12
Or you just put them all in one script?
Feb 13, 2015 at 14:13

10 Answers 10

import nltk is Python syntax, and as such won’t work in a shell script.

To test the version of nltk and scikit_learn , you can write a Python script and run it. Such a script may look like

import nltk import sklearn print('The nltk version is <>.'.format(nltk.__version__)) print('The scikit-learn version is <>.'.format(sklearn.__version__)) # The nltk version is 3.0.0. # The scikit-learn version is 0.15.2. 

Note that not all Python packages are guaranteed to have a __version__ attribute, so for some others it may fail, but for nltk and scikit-learn at least it will work.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *