Python не находит модули
Есть набор утилит на питоне. К нему — простая на вид инструкция установки. Но я не осилил — при запуске не находит модуль.
Дело было на Ubuntu Server 18.04 LTS
#накатил virtualenv sudo apt-get install virtualenv #накатил менеджер пакетов (сразу для 2 и 3 питона) sudo apt-get install python-pip sudo apt-get -y install python3-pip
Запустил приблуду. Если правильно понимаю, это директория-среда типа виртуального контейнера.
virtualenv ENV cd ENV/
Внутри есть bin и lib, значит туда и клонировал с гитхаба.
git clone https://github.com/JBaczuk/blockchain-dev-tools.git cd blockchain-dev-tools
Попробовал автоустановку скриптом из комплекта поставки.
./INSTALL.sh
Получил ошибку.
cp: cannot create regular file '../lib/python3.6/': Not a directory
С судо выполнилось.
sudo ./INSTALL.sh
Поднялся наверх и выполнил activate
cd .. source bin/activate
Накатил модуль ecdsa (для 2 и 3 питонов)
pip install ecdsa
Модуль установился. Вот выхлоп:
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support Collecting ecdsa Using cached https://files.pythonhosted.org/packages/a2/25/3bb32da623b39a27a07d194cd58e4540224421d924661de2e694304ae4fa/ecdsa-0.14.1-py2.py3-none-any.whl Collecting six Using cached https://files.pythonhosted.org/packages/65/26/32b8464df2a97e6dd1b656ed26b2c194606c16fe163c695a992b36c11cdf/six-1.13.0-py2.py3-none-any.whl Installing collected packages: six, ecdsa Successfully installed ecdsa-0.14.1 six-1.13.0
Пробую запустить утилиту msgprefixgen, а модуля нету
Traceback (most recent call last): File "/home/local-seed-1/ENV/bin/msgprefixgen", line 4, in from blockchain_fundamentals import * ModuleNotFoundError: No module named 'blockchain_fundamentals'
Смотрю в lib/ и вижу там blockchain_fundamentals.py
С другими утилитам — тоже модульная печаль. Только калькулятор эмиссии выполняется.
$ distribution -m 10000000 -s 100 Results =================== Block Time (sec): 600 Initial Subsidy: 100 Halving Interval (blocks): 50051.379461857425 Max Supply: 10000000
Почитал исполняемые файлы, путей к инклудам не написано. Попытался подпихивать во все директории. Наплодил сральник из файлов, но так и не заработало.
Работа с модулями: создание, подключение инструкциями import и from
Модулем в Python называется любой файл с программой (да-да, все те программы, которые вы писали, можно назвать модулями). В этой статье мы поговорим о том, как создать модуль, и как подключить модуль, из стандартной библиотеки или написанный вами.
Каждая программа может импортировать модуль и получить доступ к его классам, функциям и объектам. Нужно заметить, что модуль может быть написан не только на Python, а например, на C или C++.
Подключение модуля из стандартной библиотеки
Подключить модуль можно с помощью инструкции import. К примеру, подключим модуль os для получения текущей директории:
import указывается название модуля. Одной инструкцией можно подключить несколько модулей, хотя этого не рекомендуется делать, так как это снижает читаемость кода. Импортируем модули time и random.
Использование псевдонимов
Если название модуля слишком длинное, или оно вам не нравится по каким-то другим причинам, то для него можно создать псевдоним, с помощью ключевого слова as.
Инструкция from
Подключить определенные атрибуты модуля можно с помощью инструкции from. Она имеет несколько форматов:
Первый формат позволяет подключить из модуля только указанные вами атрибуты. Для длинных имен также можно назначить псевдоним, указав его после ключевого слова as.
Следует заметить, что не все атрибуты будут импортированы. Если в модуле определена переменная __all__ (список атрибутов, которые могут быть подключены), то будут подключены только атрибуты из этого списка. Если переменная __all__ не определена, то будут подключены все атрибуты, не начинающиеся с нижнего подчёркивания. Кроме того, необходимо учитывать, что импортирование всех атрибутов из модуля может нарушить пространство имен главной программы, так как переменные, имеющие одинаковые имена, будут перезаписаны.
Создание своего модуля на Python
Теперь пришло время создать свой модуль. Создадим файл mymodule.py, в которой определим какие-нибудь функции:
Теперь в этой же папке создадим другой файл, например, main.py:
Выведет:
Поздравляю! Вы сделали свой модуль! Напоследок отвечу ещё на пару вопросов, связанных с созданием модулей:
Как назвать модуль?
Помните, что вы (или другие люди) будут его импортировать и использовать в качестве переменной. Модуль нельзя именовать также, как и ключевое слово (их список можно посмотреть тут). Также имена модулей нельзя начинать с цифры. И не стоит называть модуль также, как какую-либо из встроенных функций. То есть, конечно, можно, но это создаст большие неудобства при его последующем использовании.
Куда поместить модуль?
Туда, где его потом можно будет найти. Пути поиска модулей указаны в переменной sys.path. В него включены текущая директория (то есть модуль можно оставить в папке с основной программой), а также директории, в которых установлен python. Кроме того, переменную sys.path можно изменять вручную, что позволяет положить модуль в любое удобное для вас место (главное, не забыть в главной программе модифицировать sys.path).
Можно ли использовать модуль как самостоятельную программу?
Можно. Однако надо помнить, что при импортировании модуля его код выполняется полностью, то есть, если программа что-то печатает, то при её импортировании это будет напечатано. Этого можно избежать, если проверять, запущен ли скрипт как программа, или импортирован. Это можно сделать с помощью переменной __name__, которая определена в любой программе, и равна "__main__", если скрипт запущен в качестве главной программы, и имя, если он импортирован. Например, mymodule.py может выглядеть вот так:
Для вставки кода на Python в комментарий заключайте его в теги
Почему python не видит модуль?
модули уже устанавливал, обновлял пакеты, PyCharm настойчиво доказывает мне что таких модулей у меня нет
в чем может быть проблема?
- Вопрос задан более года назад
- 597 просмотров
2 комментария
Простой 2 комментария

Сколько версий питона у вас установлено?
3f4g @3f4g Автор вопроса
Решения вопроса 0
Ответы на вопрос 1

Проекты в PyCharm могут использовать системный интерпретатор, или виртуальное окружение (отдельную копию интерпретатора для проекта). Соответственно модули, установленные в одном, другой не увидит.
Проверь, что используешь, и куда ставишь.
Ну и да, имена устанавливаемых пакетов и импортируемых модулей в студию. Может, у тебя просто опечатка в импорте.
Ответ написан более года назад
Нравится 2 3 комментария
3f4g @3f4g Автор вопроса

вот фото импортируемых модулей
где я могу посмотреть выбранный интерпретатор и список модулей которые он видит?

3f4g, открой окно терминала в pycharm и введи pip freeze, получишь список установленных пакетов.
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
Палиндромы leetcode, в VS все правильно, на сайте другой ответ, что делать?
- 1 подписчик
- 11 часов назад
- 85 просмотров
Питон не видит модуль после установки его через pip install
Я уже часов семь пытаюсь как-то сделать, чтобы он его увидел: и разные версии питона ставил и переменные среды прописывал (PATH, PYTHONHOME и PYTHONPATH), и в общем-то никуда не сдвинулся.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как подключить модуль установленый через $ pip install?
Установил модуль через $ pip install. Когда пишу from . import . , пишет ModuleNotFoundError.

Как исполнять простейшие скрипты, установленные через pip install ?
Здравствуйте! Как исполнить эту строчку кода: bits_parser qmgr0.dat вот прямо в точности так.

Pip install --upgrade pip
python -m pip install --upgrade pip что такое -m?

После установки компонента, делфи не видит его классы
requires rtl, vcl; Устанавливаю, всё нормально устанавливается, но не вылезает окно с.
in code we trust
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
Добавлено через 4 минуты
ещё надо попробовать установить модуль через pycharm, иногда помогает.
Добавлено через 4 минуты
Вероятно, вы установили библиотеку для другого интерпретатора. Для того, чтобы поставилось к нужному интерпретатору, попробуйте запустить pip следующим образом:
python -m pip install
Так pip точно будет запущен от нужного интерпретатора.
Добавлено через 2 минуты
на сайте который автомодерируется есть ответы на 99% вопросов это stack overflow но надо искать в гугле на англ - англ использует 97% всего населения земли
Добавлено через 12 минут
ещё тут что-то про интерпретатор https://stackoverflow.com/ques. in-pycharm
----
ещё в cmd ввести советую
echo %PATH%
посмотреть все пути переменных окружений
Добавлено через 3 минуты
windows 10 использует power shell вместо cmd вроде
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Питон 3 на Cygwin не видит модуль
Здравствуйте. Столкнулся с проблемой при переносе проекта Python с Linux машины на Windows на.
Питон не видит модуль PIL
Модуль ставил через pip, в консоли он импортирует, в коде нет Питон 3.9.7 MS Visual Studio Code.
Модуль Wi-Fi не видит сети после его смены. Не могу установить драйвера
Поменяли модуль Wi-Fi, после этого нетбук ASUS 1005 PXD не видит сети и не работает Bluetooth.
Установить модуль msgpack через pip
У меня возникла такая проблема: пакет msgpack установлен (pip list отображает пакет версией 0.5.6).
Не работает после установки WIN 7x64 разъем ddr2 , либо просто его не видит комп (
Во общем ребят такая вот проблема,не видит компьютер один слот DDR 2,до переустановки win такого не.

Установить модуль selenium через pip на Windows
Привет программисты питон. есть проблема с установкой библиотеки селениум. версия питона 3.4.1.
