Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как укратить Python в ubuntu 18.04  (Прочитано 1756 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн iPRi

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Как укратить Python в ubuntu 18.04
« : 13 Октября 2019, 14:21:23 »
Привет, друзья!

Решил постичь UBUNTU, и сразу столкнулся с такой проблемой.

Нужен был свежий python 3.7. по дефолту был установлен 3.6.
После установки 3.7 сразу столкнулся с проблемой установки модулей. модули ставились в питон 3.6 а при запуски кода из под 3.7 модули не находились.
решил эту проблему при помощи команды:

sudo apt-get install python3-pip python3.7-dev
python3.7 -m pip install (название модуля)

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

Python 3.7.3 (default, Apr  3 2019, 19:16:38)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a.copy()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
    from apport.packaging_impl import impl as packaging
  File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 24, in <module>
    import apt
  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

Original exception was:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined

РЕШИЛ ПРОБЛЕМУ
sudo apt-get install --reinstall python3-apt
cd /usr/lib/python3/dist-packages
sudo ln -s apt_pkg.cpython-{36m,37m}-x86_64-linux-gnu.so

По последней строке, объяснити пожалуйста её функцию )))

Цитировать
Правила форума
1.4. Листинги и содержимое текстовых файлов следует добавлять в сообщение с помощью тегов [spoiler]...[/spoiler] или [code]...[/code], либо прикреплять к сообщению в виде отдельного файла. Длинные гиперссылки следует оформлять при помощи тега [url=]...[/url]

  --Aleksandru
« Последнее редактирование: 13 Октября 2019, 17:17:18 от iPRi »

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1178
    • Просмотр профиля
Re: Как укратить Python в ubuntu 18.04
« Ответ #1 : 14 Октября 2019, 15:19:07 »
Ох, зря вы издеваетесь над системным Питоном.
Это вылезет потом в самом неподходящем месте.
Лучше поставьте в виртуалке 19.04, или 19.10, или Debian Testing (rolling релизы, всегда всё "самое свежее") и используйте их как среду разработки.
Виртуалка без GUI и с доступом по ssh на порту 10022 запускается так:
qemu-system-x86_64 -cpu host -smp 4 -machine type=pc,accel=kvm -boot order=d -drive file=/mnt/sda1/bigfiles/ubuntu-server,format=qcow2 -m 1G -net nic -net user,hostfwd=tcp::10022-:22 -daemonize -display none
где 4 - количество выделенных потоков ЦП
1G - размер выделенной оп. памяти
/mnt/sda1/bigfiles/ubuntu-server - путь к образу диска, его можно создать с нуля и самостоятельно в него установить систему, можно скачать готовый "облачный" образ

Если решите, что виртуалка - слишком толстый и неповоротливый зверь, можете освоить контейнеры LXD.

По любому пункту могу написать подробнее, если нужно.
« Последнее редактирование: 14 Октября 2019, 15:22:45 от m-svo »
Debian 11, Debian 11 Server

 

Страница сгенерирована за 0.043 секунд. Запросов: 25.