Уведомления

Группа в Telegram: @pythonsu

#1 Май 16, 2020 16:26:21

Dor_boof
Зарегистрирован: 2020-05-16
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Запутался в версиях python на Linux Ubuntu bionic(18.04)

Добрый день, собственно говоря тема такая: имеется ПК с Ubuntu 18.04.
Первоначально проблема была в том, что был python 3.7, но был только pip и pip2. Я попытался установить pip3 вручную отдельно - он вроде как установился нормально, но по всей видимости не туда устанавливал пакеты. В итоге я решил поставить python 3.8 отдельно - тупо скачав исходники и собрав их с помощью gcc и make install все поставил. Вроде как все поставилось, но приустановке пакета (pip3.8 install ) пишет такую ошибку: no module named ctypes. Поискав в интернете, я сделал вывод что python3.8 установился не совсем корректно, и унего нет стандартных библиотек (в папке /usr/lib/python3.8 очень мало папок и нет стандартных модулей!). Также попробовал установить библиотеку libffi-dev. Не помогло. Можно как-нибудь доустановить python3.8 до полной библиотеки. Понимаю, что, наверное, создал проблем когда make'ом ставил но могу питон установить только так.

Что в итоге:
У меня на ПК имется: python2, python 2.7, python3, python3.6, python3.7, python3.8
pip, pip2, pip3, pip3.8.
python -V .Показывает 3.8.
Мне нужен только python3.8 и pip к нему, чтобы нормально пакеты устанавливал. Подскажите, что можно сделать? Может вообще попытаться снести весь питон и поставить с 0, но как,чтобы не угробить систему, или как-то доустановить стандартные библиотеки к 3,8. Подскажите пожалуйста, что можно сделать?

Офлайн

#2 Май 16, 2020 19:48:27

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Запутался в версиях python на Linux Ubuntu bionic(18.04)

pip3.8 в руки и вперёд, ставить интересующие библиотеки.
Кстати, недавно один угробил систему экпериментируя с питонами. Вот пруф.

Отредактировано Rafik (Май 16, 2020 19:52:47)

Офлайн

#3 Май 16, 2020 20:44:20

Dor_boof
Зарегистрирован: 2020-05-16
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Запутался в версиях python на Linux Ubuntu bionic(18.04)

Если работать с pip3.8/python3.8 то при попытке установить любую библиотеку пишет
no module name _ctypes
Говорю,я 3,8 скорее всего поставил как-то не так т.к. ставил с исходников. Удалить тоже не получается 3,8.
Это да,я вот и боюсь систему убить

Офлайн

#4 Май 17, 2020 00:46:04

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Запутался в версиях python на Linux Ubuntu bionic(18.04)

Dor_boof
Первоначально проблема была в том, что был python 3.7, но был только pip и pip2.
Переустанови питон 2 и питон 3 из репозиториев системы. Ищи опцию reinstall.

  
sudo apt-get install --reinstall packet

При этом используется только pip (для второго питона) и pip3 (для третьего питона).

Затем скачай исходники питона с https://www.python.org/downloads/ и прочитай рекомендации по сборке и установке в сопроводительной документации в архиве с исходниками.

Для сборки питона нужно, чтобы у тебя в системе стояли все нужные devel-пакеты. Если каких-то пакетов нет, то скрипт configure из исходников питона обычно пишет в конце, что пакеты для сборки таких-то модулей питона не обнаружены. Эти пакеты ты должен доустановить из репозиториев системы. У них есть часть devel в имени.

В скриптах на питоне используй первой строкой строку
#!/usr/bin/env python3

Чтобы вместо python3.7 запускался python3.8 , найди в дереве директорий файл python3 (это может быть символьная ссылка), сохрани его под другим именем и создай там же символьную ссылку python3, указывающую на полный путь к бинарному файлу python3.8 .

Запусти скрипт (в виде файла test.py)
#!/usr/bin/env python3

import sys
print(sys.version)
и убедись, что выводит версию 3.8


Версии 3.7 и 3.8 или 3.8 и 3.9 обычно не отличаются настолько, чтобы был смысл обновляться. А для экспериментов обычно используется модуль venv, который есть в стандартной библиотеке питона.
https://docs.python.org/3/library/venv.html

С помощью venv можно в директорию ставить любые пакеты, а потом изолировать питон в этой директории и запускать питон с пакетами из неё. Так можно проводить эксперименты с пакетами питона, не устанавливая их в систему. После экспериментов директорию с определённой средой можно просто удалить.



Отредактировано py.user.next (Май 17, 2020 01:05:57)

Офлайн

#5 Май 17, 2020 07:04:39

Dor_boof
Зарегистрирован: 2020-05-16
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Запутался в версиях python на Linux Ubuntu bionic(18.04)

Спасибо за ответ.

Смотрите, ситуация следующая

py.user.next
Переустанови питон 2 и питон 3 из репозиториев системы. Ищи о
Я, к сожалению не могу воспользоваться утилитой apt-get т.к. у ПК нет подключения к интернету.
py.user.next
Затем скачай исходники питона с https://www.python.org/downloads/ и прочитай рекомендации по сборке и установке в сопроводительной документации в архиве с исходниками.

Для сборки питона нужно, чтобы у тебя в системе стояли все нужные devel-пакеты.

Вот я уже попробовал так сделать. А именно: скачал 3,8, сделал configure и make. Вроде он установился без ошибок, во всяком случае установка завершилась, но я по глупостинепосмотрел, какие библиотеки поставил. 3,8 установился.

Итого, что сейчас имею: основная версия python у меня 3,8. При вызове python3. python3 -V и проверкой файла пишет python 3.8. Но у меня такое ощущение,что я установил его неправильно, т.к. во-первых я псомотрел в /usr/local там у него очень мало библиотек, во-вторых, при попытке установить библиотку ( python3,8 -m pip install или pip3.8 install - чтобыточно к этой версии ) - любую библиотеку пишет ошибку no module named _ctypes. И в третьих в интерперетаторе питона 3,8, если нажиматьклавишу влево, чтобы заменить текст - он вставляетя комбинацию клавиш. Т.е. возможно для 3,8 что-то не хватает, я не знаю как понять чего, и опять же дело осложняется тем,что нет интернета,и призодится все пакеты вручную ставить. Так же я не знаю как удалить новоустановленный питон т.к. make uninstall не работает.

Итак еще раз, в итоге имеется питоны 2,7 3 3,6 3,8. python3 -V показывает 3,8, но пип3,8 ни одну библиотеку не ставит. Python3.6 вроде как работаетнормально.

Собственно еще раз. Первоночально проблема была в том, что к моей версии питона3,6 не было пип (кстати почему так?). Я скачал вручную и установил пип3, но он установился по всей видимости не к версии 3,6 а к 3. Вот затем я на скорую руку попытался установить ‘чистый’ 3,8, но пип там не работает. Сейчас я вот заметил, что работает pip3.6 -m pip .Т.е. я вроде как могуставить пакеты к 3,6, что собственно говоря меня устраивает.НО. Вся вообще эта канитель начилаьс при попытке установить джанго автономно. И вот теперь при попытке установить джанго (я вручную поставил модули pytz и asgiref) на 3,6 мне выдает джанго такую ошибку, мол couldt not find a version that satysfies the requirement pytz, хотя питз точно стоит, я пробовал также python3.6 -m pip install –pre . каксоветовали в при такой ошибке, ноне помогает. Джанго будто не видит модуля pytz. Но я уже пробовал так ставить на другие дистрибутивы такими способами - они ставятся отлично, а значит скорее всего есть какие-то проблемы с pip к версии 3,6.

Вообщем, что мне проще всего сделать в данной ситуации, чтобы поставить Джанго и не угробить систему. Очень надеюсь вашей помощи. Спасибо



Отредактировано Dor_boof (Май 17, 2020 07:08:17)

Офлайн

#6 Май 17, 2020 08:34:16

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Запутался в версиях python на Linux Ubuntu bionic(18.04)

Dor_boof
Я, к сожалению не могу воспользоваться утилитой apt-get т.к. у ПК нет подключения к интернету.

https://help.ubuntu.ru/wiki/%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9
см внизу страницы

например
https://help.ubuntu.ru/wiki/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B7%D0%B5%D1%80%D0%BA%D0%B0%D0%BB%D0%B0_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D1%8F

пред серьезными операциями бекапь хотябы хомяк (а лучше корень если есть куда) я пользую cp
https://help.ubuntu.ru/wiki/backup

зы можно собрать систему на виртуалке и потом развернуть на рельной машине (тут плюс в том что можете делать снапшоты) так же это работает в обратную сторону
ззы
Dor_boof
чтобы поставить Джанго и не угробить систему
не очень понятно что увас за система т.е. это что домашняя машина или … в общем что вы с ней можете делать

зззы
https://docs.djangoproject.com/en/3.0/topics/install/#installing-official-release



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Май 17, 2020 09:53:30)

Офлайн

#7 Май 17, 2020 15:36:53

Dor_boof
Зарегистрирован: 2020-05-16
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Запутался в версиях python на Linux Ubuntu bionic(18.04)

Спасибо за советы.
Что касательно установок пакетов оффлайн, то единственное что я могу так это командой

 apt-get --print-uris --yes
узнатьна сервере необзодимые пакеты для установки. И потом wget'ом с компа с инетом скачать. Ксожалению делать зеркало репозитория нет возможности.

Собственно, я таким способом попытался переустановить python3.8
 sudo apt-get -o dir::cache::sownloads::archives='/home/download' install --reinstall python3.8 
. Вроде прошло без ошибок,но все без изменений. При попытке
 pip3.8 install .
отдает
 ModuleNotFoundError: No module named '_ctypes'
И до этого много разных ошибок про egginfo, setuptools и т.п.

Вотдаже незнаю, какие пакеты попробовать таким образом поставить? Т.к. если пытаться обновлять пип таким образом, он пишет, что пип3 не найден
AD0DE412
не очень понятно что увас за система т.е. это что домашняя машина или … в общем что вы с ней можете делать
Ну можно сказать, что домашняя. Да все что угодно,только инета нет на ней(

AD0DE412
1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
Да, прошу прощения за невнимательность, исправлюсь.

Офлайн

#8 Май 17, 2020 17:31:55

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Запутался в версиях python на Linux Ubuntu bionic(18.04)

Dor_boof
Да, прошу прощения за невнимательность, исправлюсь
это другое … это просто подпись .. ну не лично к вам а вобще … тут бывает выкладивают код в таком виде

for i in range(10):
if i % 2:
print(i)

нечитабельном итд



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#9 Май 17, 2020 19:12:38

Dor_boof
Зарегистрирован: 2020-05-16
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Запутался в версиях python на Linux Ubuntu bionic(18.04)

Вообщем, я решил поставить еще одну версию питона. Я поставил все необходимые библиотеки и все заработало. НО django опять пишет

 couldt not find a version that satysfies the requirement pytz
Т.е. означет, что проблема не с пип

Итак, что у меня получается. 2 рабочие версии питона 3,7 и 3,6 правильно установленные.

Я хочу поставить джанго на офлайн компьютер.Ставлю отдельно модули asgiref, sqlparsem pytz. Первые 2 джанго видит, про питц же пишет
couldt not find a version that satysfies the requirement pytz (from Django==3.0.4)
, но pytz я установил. Кто знает что за модуль такой волшебный ?) И самое главное то, что таким методом я смог поставить на другие машины, может тут что-то со временем не так. Все, одна единственная проблема осталась -то, что установщик джанго не видит установленный модуль pytz. Если кто знает, подскажите пожалуйста.

P.S. Возможно это уже больше относится конкретно к модулю Джанго, можно перенести тему ?

Офлайн

#10 Май 17, 2020 20:32:19

Dor_boof
Зарегистрирован: 2020-05-16
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Запутался в версиях python на Linux Ubuntu bionic(18.04)

Вот проблем подобного рода, только без виртуального окружения. Я не понимаю их способа решения, может кто объяснить http://quabr.com/18230956/could-not-find-a-version-that-satisfies-the-requirement-pytz

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version