Процесс не может получить доступ к файлу, так как файл используется другим процессом Python

Обновлено: 21.11.2024

Процесс не может получить доступ к файлу, поскольку он используется другим инструментом обработки Python

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отключить звук
  • Отправить сообщение другу

У меня есть рабочий процесс, в котором используется макрос с несколькими инструментами Python.

главным образом этот макрос загружает определенные данные в Azure.

какое-то время это работало отлично, но последние несколько дней я получаю сообщения об ошибках, не могу получить доступ, а инструмент python создает новые папки, такие как 215aaf0eeb.

где хранится файл jupytherPipes.json.

Чего я не понимаю, так это почему инструмент Python использует инструмент Jupyther и почему он пытается получить доступ к файлу .json.

насколько я понимаю python (я привык к редакторам Pycharm/VScode), он никогда не использует jupyther nootbook.

почему Alteryx использует nootbooks jupyter для python?

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отключить звук
  • Отправить сообщение другу

привет, @MartWClimber
Инструмент Python включает настроенную версию Jupyter, которая позволяет запускать код Python непосредственно в Alteryx Designer.

Что касается вашей ошибки, я не совсем уверен.
Мои предложения:
Полная перезагрузка ПК (я видел подобные ошибки, когда инструмент Python выдавал ошибку, а блокнот jupyter не закрывался должным образом)

Запускайте Alteryx от имени администратора (иногда могут возникнуть проблемы с доступом к папкам, если не запускать от имени администратора)

Надеюсь, это поможет!
TheOC

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отключить звук
  • Отправить сообщение другу

Также убедитесь, что вы не используете движок AMP! Я не думаю, что AMP полностью поддерживает инструмент Python.

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отключить звук
  • Отправить сообщение другу

Мы запускаем Alteryx на сервере. тогда я должен спросить, могут ли люди перезапустить сервер.

Также приятно узнать, что AMP не поддерживает инструмент Python (пока надеюсь)

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отключить звук
  • Отправить сообщение другу

насколько я могу судить, файл pipe.json выглядит так.

он ​​пытается получить доступ к этому файлу и не может получить к нему доступ, потому что он, по-видимому, используется другим процессом. что странно, потому что этот файл находится во временной папке, созданной Alteyx, где хранятся только данные из этого конкретного инструмента Python

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отключить звук
  • Отправить сообщение другу

Да, мне кажется, что Alteryx не смогла должным образом закрыть блокнот Jupyter, и он все еще работает в фоновом режиме.

Обычно это все равно будет закрыто, когда рабочий процесс закрыт, однако я потенциально предположил бы, что он все еще открыт в фоновом режиме.

Вы можете проверить это, если у кого-то есть доступ к диспетчеру задач сервера — у меня был такой доступ раньше, когда у меня несколько раз запускался «python» в диспетчере задач после завершения рабочего процесса. Я думаю, что это часто происходит при использовании AMP, поэтому он не поддерживается.

Надеюсь, это поможет,
TheOC

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отключить звук
  • Отправить сообщение другу

собираюсь перезапустить сервер. надеюсь, это решит проблему. если это произойдет снова, я могу проверить шаги, упомянутые выше

  • Отметить как новое
  • Добавить в закладки
  • Подписаться
  • Отключить звук
  • Отправить сообщение другу

Привет, @MartWClimber
Разумно, дайте мне знать, если возникнут дополнительные проблемы!

Python 2.7.6 (по умолчанию, 10 ноября 2013 г., 19:24:18) [MSC v.1500 32 бит (Intel)] при победе
32
Введите "help", "copyright" , "кредиты" или "лицензия" для получения дополнительной информации.

from goose import Goose
Goose()
Traceback (последний последний вызов):
File "", строка 1, in
File "d:\ Program Files (x86)\python273\lib\site-packages\goose_extractor-1.0.8
-py2.7.egg\goose__init__.py", строка 38, init
self.initialize() < br />Файл "d:\Program Files (x86)\python273\lib\site-packages\goose_extractor-1.0.8
-py2.7.egg\goose__init__.py", строка 82, в инициализации
os.remove(path)
WindowsError: [Ошибка 32] Процесс не может получить доступ к файлу, поскольку он
используется другим процессом: 'c:\users\danyang\appdata\local\temp \goose\tmpj2
авис

Текст был успешно обновлен, но возникли следующие ошибки:

IDF прокомментировал 11 февраля 2014 г.

Один cmd, поэтому очень похоже, что это один-единственный процесс гуся. Я временно решаю эту проблему, закомментировав os.remove(path) в файле goose/init.py

Я предполагаю, что текущий процесс обращается к временному файлу.И механизм временных файлов в Linux может отличаться от Windows.

Есть лучшее решение?

комментарий joedf от 20 апреля 2014 г.

Я также получаю эту ошибку.

прокомментировал scrimshander 21 апреля 2014 г.

Ответ заключается в том, чтобы не открывать файл отдельно с помощью f.open, поскольку он уже открыт mkstemp. Его можно открыть для записи с помощью os.fdopen, поэтому замена команды f = open на f = os.fdopen(level, 'w') исправляет ситуацию. Я новичок в GitHub и знаю, как внести свой вклад, поэтому, если кто-то хочет научить меня тому, что мне нужно делать, я буду рад внести свой вклад в реальный код!

комментарий joedf от 22 апреля 2014 г.

Перейдите к файлу на странице проекта github и нажмите «Изменить». Он автоматически разветвит проект для вас. Затем, когда вы закончите редактирование, перейдите к нижней части, напишите краткое изложение/причину изменения и нажмите «Предложить изменение файла».

jueya1213 прокомментировал 4 мая 2014 г.

То, что только что сказал "скримшендер", может решить эту проблему. вы можете изменить исходные коды goose/init.py следующим образом:
.
уровень, путь = mkstemp(dir=self.config.local_storage_path)
попробуйте:
f = os.fdopen(level, 'w')
f.close() < br />os.remove(путь)
.
WindowsError [Ошибка 32] исчезнет.

прокомментировал Grangier 5 мая 2014 г.

IDF прокомментировал 5 мая 2014 г.

Однако не все тесты можно пройти

ed src="https://www.youtube.com/v/M7lc1UVf-VE?version=3&autoplay=0" type pl-s">ication/x-shockwave-flash" allowscriptaccess="always" width="640" height="390"/> объект> ' -------------------------------------------------- ---------------------------------- Выполнено 125 тестов за 26,126 с. FAILES (сбои = 3, ошибки = 1) ) Это приложение запросило среду выполнения, чтобы завершить его необычным образом. Пожалуйста, свяжитесь со службой поддержки приложения для получения дополнительной информации.

Читайте также: