Питон не видит файл
Итак, у меня есть один каталог 2014_07_13_test с двумя файлами в нем:
Тем не менее питон дает мне
@Casy_fill Вы запускаете свою программу из каталога, в котором находятся файлы? Для импорта не имеет значения, что импортируемые и импортированные файлы имеют общий каталог. Важно, чтобы ваш интерпретатор Python правильно установил текущий каталог.
Ваш код в порядке, я подозреваю, что ваша проблема в том, как вы его запускаете.
Вам нужно запустить python из каталога 2014_07_13_test.
Откройте командную строку и нажмите cd в каталог 2014_07_13_test.
Если вы не можете 'cd' в такой каталог, вы можете добавить его в sys.path
Или установите / отредактируйте PYTHONPATH
И все должно быть хорошо .
Существует лучше притон вы должны использовать.
Также вам не нужна строка shebang для каждого файла . только те, которые вы собираетесь запускать из своей оболочки как исполняемые файлы.
Большое спасибо, что проблема! К сожалению, SublimeRepl (который я использую) прямо сейчас не поддерживает запуск python из папки, поэтому, похоже, мне нужно экспортировать PATH сейчас
Ага, это была моя проблема. У меня была большая папка с практическими проектами Python, открытая в VS Code, и у меня были большие проблемы с поиском вещей в том же каталоге. Моя проблема заключалась в том, что в терминале я не изменил каталоги на подкаталог, в котором был мой текущий проект. Как только я это сделал, проблема была решена.
Измените свой импорт в test.py на:
Я думаю, что это лучшее решение, чем наиболее принятый ответ. Я использую весь импорт модуля, как указал ST7: from . import local_module
У меня была аналогичная проблема, я решил ее, явно добавив каталог файла в список путей:
После этого у меня не было проблем с импортом из того же каталога.
Хотя это сработало, ответ от jwn с использованием относительного импорта был гораздо более чистым решением.
Вот общее решение, которое я использую. Решает проблему импорта из модулей в той же папке:
Поместите это вверху модуля, который выдает ошибку «Нет модуля с именем xxxx».
Это помогло мне загрузить модуль из родительского каталога, заменив ".." на "../ ..". Большое спасибо!
это файл имя файла , который будет импортироваться или текущего модулем , где мы импортируем модуль или постоянно
В моем случае Python не смог его найти, потому что я поместил код внутри модуля с дефисами, например my-module . Когда я поменял на my_module это работало.
Я столкнулся с этой проблемой. У меня было три папки в одном каталоге, поэтому мне пришлось указать, в какой папке. Пример: из скрипта импорта папки
Следующее не решает проблему OP, но заголовок и ошибка - это именно то, с чем я столкнулся.
Если в вашем проекте есть setup.py сценарий, вы можете установить этот пакет, в котором вы находитесь, с помощью python3 -m pip install -e . или python3 setup.py install или python3 setup.py develop , и этот пакет будет установлен, но по-прежнему доступен для редактирования (поэтому изменения в коде будут видны при импорте пакета). Если у него нет setup.py , разберитесь в этом .
Ответы 2
Следует адаптировать несколько вещей:
-
MANIFEST.in будет использоваться только при упаковке исходных дисков, поэтому python setup.py sdist будет включать mesa/a.txt даже при вашей текущей настройке. Это не относится к двоичным дистрибутивам, ни bdist_egg , ни bdist_wheel не будут читать MANIFEST.in .
package_data обычно используется для файлов, отличных от Python, помещенных внутри пакета, но mesa не помещается в каталог tm , поэтому относительный путь неверен. Вы можете обойти это, установив путь с точками:
Однако, если mesa является частью пакета tm , имеет смысл поместить его туда, где он должен.
os.path.join('..', 'mesa', 'a.txt') разрешит путь относительно текущего каталога, поэтому эта строка может найти файл только тогда, когда вы находитесь в каталоге tm - после установки пакета это вряд ли произойдет. Вам необходимо правильно разрешить путь, например, по атрибуту __file__ :
-
Вы можете безопасно заменить py_modules=['tm.test2'] на packages=['tm'] , и вам не нужно беспокоиться об обновлении py_modules при добавлении дополнительных модулей в пакет tm .
setuptools предлагает модуль с именем pkg_resources , который предлагает полезные функции управления для файлов, отличных от Python, установленных через package_data . Например,
можно заменить на
Обратитесь к разделу ResourceManager API в документации setuptools , если вы хотите узнать больше.
Большое спасибо за подробный ответ! Это решило мою проблему и улучшило мое понимание того, как использовать setuptools .
Почему python не хочет импортировать файлы!?
А що воно повинно робити?
Почему python не хочет импортировать файлы!?
Buldozer
ребят,можете пожалуйста расписать,что обозначает каждая строчка.сейчас реально нет времени капаться в книге,буду вам очень признателен
Почему python не хочет импортировать файлы!?
Не хватает отступа после with…
файл one.py :
Почему python не хочет импортировать файлы!?
import socket
with open('111.txt', ‘w’) as fout:
print >>fout, socket.gethostname()
print >>fout, socket.gethostbyname('')
это я уже написал),спасибо.
А как сделать чтобы он писал каждые 5 секунд?
я ничего не пробовал. Просто в книге написано, что ты должен создать и все включится и никаких уточнений о каких-то доп. надписях нет
Значит файлы не должны открываться через среду в которой я их создавал? И как тогда открыть файлы-примеры, которые были даны. Там один из примеров print("Hello, world!"). но он тоже не открывается. Я ведь не могу в каждом примере input() писать.
Там речь про Linux, там консоль сама не закрывается. А в Windows все чтоб не беспокоить мышечников непонятными черными окнами с какими-то непонятными нерусскими буквами, в которых ничего нельзя нажать мышкой. Принудительно в конце программы вставляете ожидание ввода пользователя (т. е. вас) и окно будет не закрываться, пока вы не нажмете Enter (что-то введете по мнению Windows)
import time
import os
Интерактивная оболочка, это в командной строке прописать команду python откроется интерактивная оболочка и уже там написать print("Hello, World") выдаст просто Hello, World и будет ждать другого ввода команд. Но, для самого начала сам python должен быть установлен и быть в переменной PATH и все проблемы исчезнут
Всё у тебя нормально, просто двойной клик по скрипту вызывает программу из ассоциаций. Сейчас в ассоциациях для файла .py стоит программа python-интерпретатор. Собственно, он и выполняет скрипт. Чтобы открыть через среду, нажми ПКМ→открыть с помощью→и выбери среду, в которой программируешь. Хоть обычный блокнот. Допиши в конец скрипта строку input(), сохрани, и потом снова запусти скрипт двойным кликом мыши.
Я попробовал. Добавил input и решил запустить через IDLE, но ничего не запустилось. Через черную консоль все получается как и через блокнот
Иван Иванов Мудрец (17734) Как запускаешь через IDLE? ПКМ→открыть с помощью? Если так, то проект должен был открыться в среде разработки. Я бы посоветовал пользоваться pyCharm'ом. Там всё намного круче.
Поставь программу wing ide,простейшая программа (весит около 50мб). В ней есть редактор и встроенный компилятор
При запуске manage.py - выпадает такая ошибка. Не могу понять почему. Файл есть, я проверял, но python не видит этот файл.
Оценить 1 комментарий
Как вы запускаете фаил?
1. Из консоли или окна?
2. Что вы хотите увидеть при запуске данного файла. Какова цель?
p.s. Для ответа на Ваш вопрос, необходимо более развёрнутый вопрос.
python manage.py - мой вызов
python: can't open file 'manage.py': [Errno 2] No such file or directory
Переходим к интересующему объекту — в нашем случае это manage.py
Наводим курсор на файл и нажимаем правую кнопку мыши (или двумя пальцами на touchpad)
Удерживаем «волшебную» клавишу [option] и выбираем из контекстного меню появившийся пункт «Скопировать путь до…».
Я конечно спустя 2 года назад, но решить проблему можно очень просто! Пере назови файл! Либо удали копии. (или исходник!) Объяснить как?
Я, конечно, спустя более чем 2 года, но мне удалось решить проблему путем запуска IDE в режиме админа))
я конешно через 3года но если у вас имя папки по русский то не получится. переименуйте его на английский
Я упаковал код Python с setuptools . Код использует файл данных, но после установки пакета с pip код не может найти файл данных. Что я делаю неправильно?
Ниже представлена файловая структура и содержимое файла. Файлы могут быть найдены здесь. Код setup.py на Python пытается использовать файл данных mesa/a.txt . Код работает нормально, если я не упаковываю его.
Я использую команду python setup.py sdist для создания пакета. Я использую следующую команду для установки пакета:
Я использую Python 2.7.
Ниже представлены журналы упаковки и установки. Интересно, что в журнале упаковки упоминается, что файл данных mesa/a.txt был добавлен в пакет, но в журнале установки его присутствие не упоминается.
В этой статье мы расскажем о хитростях и советах по Python, которые должны быть известны разработчику Python.
В одном из недавних постов я рассказал о том, как я использую навыки количественных исследований, которые я совершенствую в рамках программы TPQ.
Вы когда-нибудь хотели поделиться с кем-то файлом, но он содержал конфиденциальную информацию? Многие думают, что электронная почта безопасна, но это.
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и.
Почему python не хочет импортировать файлы!?
with something():
do_work()
Блин
Почему python не хочет импортировать файлы!?
Wikipedia
Одной из интересных синтаксических особенностей языка является выделение блоков кода с помощью отступов (пробелов или табуляций), поэтому в Питоне отсутствуют операторные скобки begin/end, как в языке Паскаль, или фигурные скобки, как в Си. Такой «трюк» позволяет сократить количество строк и символов в программе и приучает к «хорошему» стилю программирования. С другой стороны, поведение и даже корректность программы может зависеть от начальных пробелов в тексте. Некоторым такое поведение может показаться неинтуитивным и неудобным.
reclosedev, совсем запутал бедного человека со своими метафорами!
Отредактировано fata1ex (Авг. 21, 2012 10:07:58)
Почему python не хочет импортировать файлы!?
with something():
do_work()
ребят,можете пожалуйста расписать,что обозначает каждая строчка.сейчас реально нет времени капаться в книге,буду вам очень признателен
В любом случае, проблема, с которой сталкивается OP, похоже, больше не существует?
Почему python не хочет импортировать файлы!?
Проверь значение sys.path - попал ли туда твой путь.
Проверь наличие __init__.py
Почему python не хочет импортировать файлы!?
записывать ip и имя компа в файл но не хочет импортировать скрипт.каталог не находит,вот я и думаю может с переменными средами накосячил. На работе на Linux все нормально работает а на винде не хочет((
файл two.py :
Другие решения кажутся «грязными»
В случае OP с 2 тестовыми файлами их изменение для работы, вероятно, нормально. Однако в других реальных сценариях методы, перечисленные в других ответах, вероятно, не рекомендуются. Они требуют, чтобы вы изменили код python или ограничили вашу гибкость (запуск файла python из определенного каталога) и, как правило, вызывают раздражение. Что делать, если вы только что клонировали проект, и это произойдет? Вероятно, это уже работает для других, и вносить изменения в код не нужно. Выбранный ответ также требует, чтобы люди запускали сценарий из определенной папки, чтобы он заработал. Это может стать источником длительного раздражения, а это никогда не бывает хорошо. Он также предлагает добавить вашу конкретную папку python в PATH (можно сделать через python или командную строку). Опять же, что произойдет, если вы переименуете или переместите папку через несколько месяцев? Вы должны снова выследить эту страницу, и в конце концов обнаружите, что вам нужно установить путь (и что вы сделали именно это несколько месяцев назад), и что вам просто нужно обновить путь (конечно, вы можете использовать sys.path и программно установить его, но это все еще может быть нестабильным ). Множество источников сильного раздражения.
Прикреплённый файлы:
perv.py (131 байт)
Читайте также: