Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 12, 2020 19:34:53

snake524
Зарегистрирован: 2020-04-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Импорт своего модуля

Здравствуйте, данный вопрос скорее всего уже задавался, просто похоже ответ не нашел, вот решил написать. В общем задача такая: я создал каркас проекта,создал свой модуль( не важно что внутри,я именно сейчас про подключение говорю, если же это влияет на подключение,то с радостью узнаю об этом), далее с помощью “python setup.py sdist” создал папку с архивом, распаковал его, зашел через командную строку в эту папку, написал “python setup.py install”, модуль установился, с помощью pip freeze проверил, что модуль установлен, оказалось все хорошо. Дальше я создал новый файл в редакторе(у меня Атом, вдруг нужно, на всякий случай) в нем написал следующий код:

import имя_моего_модуля
мой_модуль. функция()


Мне сейчас неважно работает ли функция внутри модуля, это я потом все проверю, самое главное, что когда я файл этот сохранил и командой “python мой_файл.py” попытался запустить, он мне сказал: ModuleNotFoundError: No module named мой_модуль

Пол ночи с этим проковырялся и сейчас на месте стою, то что вроде по теме нашел, не работает, можно вас товарищи) попросить, инструкцию по шагам дать, как это делается и заодно объяснить, что я не так сделал?Заранее спасибо.

Офлайн

#2 Июнь 12, 2020 22:13:41

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

Импорт своего модуля

Сделай вообще модуль с именем mytest , для него все эти действия проделай.

Открой консоль питона и выполни

  
import mytest

Опиши операционную систему свою.



Офлайн

#3 Июнь 12, 2020 22:33:41

snake524
Зарегистрирован: 2020-04-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Импорт своего модуля

Сделал модуль mytest.py и проделал все тоже самое, такая же ошибка.У меня windows 10 Home, x64, Python 3.8.3.

Отредактировано snake524 (Июнь 13, 2020 00:43:27)

Офлайн

#4 Июнь 13, 2020 19:31:13

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Импорт своего модуля

1. Ну чтобы пользоваться модулями вовсе не обязательно их в питон ставить. Достаточно чтобы рядом лежали. Но думаю вы это и без меня знаете.

2. Модуль может устанавливаться как скрипт и как пакет и как модуль. Поэтому возникает вопрос что у вас там в setup.py написано?



Офлайн

#5 Июнь 13, 2020 19:35:34

snake524
Зарегистрирован: 2020-04-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Импорт своего модуля

doza_and
1. Ну чтобы пользоваться модулями вовсе не обязательно их в питон ставить. Достаточно чтобы рядом лежали. Но думаю вы это и без меня знаете.2. Модуль может устанавливаться как скрипт и как пакет и как модуль. Поэтому возникает вопрос что у вас там в setup.py написано?

1. Да это я конечно знаю.
2.Вот что написано в setup.py:
try:
from setuptools import setup
except ImportError:
from distutils.core import setup

config = {
‘description’: ‘Project1’,
‘author’: ‘Author’,
‘url’:'No URL',
‘download_url’: ‘link to download’,
‘author_email’:'My Email',
‘version’: ‘1.0’,
‘install_requires’: ,
‘packages’: ‘NAME’, # здесь квадратные скобки и в них имя пакета NAME
‘scripts’: ,
‘name’: ‘mytest’
}

setup(**config)

Отредактировано snake524 (Июнь 13, 2020 19:40:56)

Офлайн

#6 Июнь 13, 2020 19:45:01

snake524
Зарегистрирован: 2020-04-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Импорт своего модуля

в интернете как-то мало информации по этому вопросу, попробовал PYTHONPATH добавить, как везде написано,тоже не помогает,вообще просьба, ко всем кто будет отвечать на данный вопрос, можете от начала и до конца описать процесс(начиная с создания каталогов и заканчивая установкой пакета через pip), как бы Вы проделали данную процедуру.

Отредактировано snake524 (Июнь 13, 2020 19:47:28)

Офлайн

#7 Июнь 13, 2020 22:51:42

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

Импорт своего модуля

snake524
в интернете как-то мало информации по этому вопросу
Попробуй этот туториал
https://python-packaging.readthedocs.io/en/latest/

Тут официальное руководство и туториалы
https://packaging.python.org/
https://packaging.python.org/tutorials/packaging-projects/

В официальном предлагают выгружать дистрибутив на PyPI.



Отредактировано py.user.next (Июнь 13, 2020 22:53:19)

Офлайн

#8 Июнь 13, 2020 23:02:03

snake524
Зарегистрирован: 2020-04-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Импорт своего модуля

py.user.next
Спасибо, попробую, но мне кажется на python.org, я по этому вопросу изучил все,что только можно)))

Офлайн

#9 Июнь 14, 2020 00:36:23

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

Импорт своего модуля

snake524
но мне кажется на python.org, я по этому вопросу изучил все,что только можно)))
Там советуют на PyPI выгрузить, чтобы всё правильно было. Если бы ты изучил всё, то мы бы от тебя изначально наблюдали факт выгрузки дистрибутива на PyPI. Но мы этого не видим. Следовательно, ты не всё изучил.

pip как раз с PyPI работает. Это клиент для PyPI. Он может локально ставить, но основная функция у него - это автоматизированная установка с PyPI.



Офлайн

#10 Июнь 14, 2020 10:45:02

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Импорт своего модуля

snake524
можете от начала и до конца описать процесс
А вы зачем привели неправильный setup.py? Надо дословно до каждой буквы приводить. Чтобы символы не терялись есть в тулбаре кнопочка <> Выберите язык питон.

Начнем с более простого.

1. Заходите в настройки переменных окружения. Создаете переменную PYTHONPATH Задаем значение.
c:\projects\some
2. Кладем в папку c:\projects\some файл aaa.py содержащий.
 print("it is aaa")
3. Проверяем что положилось командой dir должны получить имя файла
4 создаем любую другую папку например aaa переходим в нее.
5. Запускаем терминал. cmd или под виндой использую far manager и проверяем правильность установки.
set PYTHONPATH
в ответ должны получить
PYTHONPATH=c:\projects\some
по командной строке проверяем что текущая дитректория aaa
6. пишем в терминале python
должны получить приглашение >>>
На будущее надо проверить по сообщению при запуске интерпретатора что это именно python 3.8 x64
 Python 3.7.2rc1 (tags/v3.7.2rc1:75a402a217, Dec 11 2018, 23:05:39) [MSC v.1916 64 bit (AMD64)] on win32
7 пишем import aaa
должны получить
it is aaa
А после этого приглашение.



Отредактировано doza_and (Июнь 14, 2020 10:49:53)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version