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

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


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

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

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

Опиши операционную систему свою.
snake524
Сделал модуль mytest.py и проделал все тоже самое, такая же ошибка.У меня windows 10 Home, x64, Python 3.8.3.
doza_and
1. Ну чтобы пользоваться модулями вовсе не обязательно их в питон ставить. Достаточно чтобы рядом лежали. Но думаю вы это и без меня знаете.

2. Модуль может устанавливаться как скрипт и как пакет и как модуль. Поэтому возникает вопрос что у вас там в setup.py написано?
snake524
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
в интернете как-то мало информации по этому вопросу, попробовал PYTHONPATH добавить, как везде написано,тоже не помогает,вообще просьба, ко всем кто будет отвечать на данный вопрос, можете от начала и до конца описать процесс(начиная с создания каталогов и заканчивая установкой пакета через pip), как бы Вы проделали данную процедуру.
py.user.next
snake524
в интернете как-то мало информации по этому вопросу
Попробуй этот туториал
https://python-packaging.readthedocs.io/en/latest/

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

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

pip как раз с PyPI работает. Это клиент для PyPI. Он может локально ставить, но основная функция у него - это автоматизированная установка с PyPI.
doza_and
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
А после этого приглашение.
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