Найти - Пользователи
Полная версия: Upgrade Python
Начало » Python для новичков » Upgrade Python
1
tmpnikl
OS-Debian GNU/Linux 9

Есть небольшой код
from bs4 import BeautifulSoup as bs, Comment
from selenium import webdriver
При запуске python test.py
Выдаёт ошибку
UserWarning: The soupsieve package is not installed. CSS selectors cannot be used.
'The soupsieve package is not installed. CSS selectors cannot be used.'
При запуске test.py
from: can't read /var/mail/bs4
from: can't read /var/mail/selenium
При запуске python3.7 test.py
from bs4 import BeautifulSoup as bs, Comment
ModuleNotFoundError: No module named ‘bs4’

1. Как узнать какая версия питона запускается по умолчанию?
(понятно если python –version это 2.7, python3.7 –version это 3.7, но на диске есть ещё пять папок с разными питонами и если я запускаю просто скрипт test.py какой питон подхватывается, в каком конфиге посмотреть?)
2. Как сделать python3.7 по умолчанию, чтоб набрал просто python и он запустился, а остальные деинсталлировать насовсем.
3. Когда запускаешь pip он к какому питону устанавливает модули (bs, selenium) и как установить эти модули к определёному модулю?
py.user.next
tmpnikl
OS-Debian GNU/Linux 9
Видимо, не знаешь, как пользоваться Linux.

tmpnikl
2. Как сделать python3.7 по умолчанию, чтоб набрал просто python и он запустился, а остальные деинсталлировать насовсем.
А как они там появились, эти остальные?

Вот ты просто не по правилам всё ставил, поэтому образовалась куча мусора. В Linux всё надо ставить из репозиториев автоматически, тем более, когда ты не знаешь нифига про устройство системы.

tmpnikl
При запуске test.py
from: can't read /var/mail/bs4
from: can't read /var/mail/selenium
Такой бред просто не может сам собой появиться. Это нужно быть “гением” и намудрить с три короба.

Так что начни всё сначала. В системе должен стоять python и python3. Дальше ты можешь доустанавливать другие версии питона. Никакие стандартные питоны ты не меняешь, потому что система сама их использует тоже в служебных скриптах на питоне.

tmpnikl
1. Как узнать какая версия питона запускается по умолчанию?
  
import sys
sys.version
И это, никакой версии питона по умолчанию нет. Сейчас стоят два питона в системах и один запускается через python, а другой - через python3. Соответственно и пакеты разделены для этих питонов в репозитории. python - это вторая версия питона, которая сохраняется потому, что существует много скриптов для второй версии. python3 - это третья версия питона, соответствующая по времени времени выпуска самой системы, поэтому она может быть довольно старой третьей версией. И дальше ты в дерево /usr/local устанавливаешь самый новый питон. И можешь даже символьную ссылку на python3 перевести на самый новый питон, расположенный в дереве /usr/local. Тогда у тебя будет и второй питон, и третий питон, и новый питон.

Скрипты же ты пишешь так, что каждый скрипт сам знает, на какой версии ему запускаться. Для этого существует первая шебанг-строка в скрипте
#!/usr/bin/env python
#!/usr/bin/env python3
tmpnikl
Спасибо за подробный ответ.
VadimK
https://github.com/pyenv/pyenv - и забыть про глобальные зависимости, как про детские болезни. На самом деле - офигенно удобно.
4kpt_V
VadimK
+
Особенно вставляет команда local. Плюс оно само подберет virtualenv нужный.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB