У меня есть Python script, который отлично работает на моем компьютере разработки. Оба являются Windows 7 с той же версией Python (2.7.9). Однако на целевой машине я получаю
ValueError: не может форматировать даты в начале
Ошибка появляется из модуля pywin32.
В коде используется сторонняя библиотека, вызываемая pywin32:
raw = win32com.client.Dispatch("MyLib.MyClass")
а затем не выполняется:
acq_time = raw.GetCreationDate()
Теперь я потерялся, почему это работает на моем ПК, а не на целевой машине. Оба имеют "корпоративную установку" Windows 7, например, те же региональные и датские настройки.
В чем проблема? Как я могу его решить?
EDIT:
См. комментарии. Причина, вероятно, в том, что используется С++. Я все еще расследую. Теперь я подозреваю, что имеет значение, какое время работы присутствует во время установки pywin32. Зачем? Поскольку DependenyWalker на моем ПК разработчиков говорит, что pywin зависит от MSVCR90.DLL
в моей установке Lotus Notes. Это говорит мне, что уверен, что это не "сложно".
Обновление 30.06.2015:
Я ошибся... Проблема теперь также происходит на моем ПК.
Дополнительная информация. script считывает файлы данных и вставляет метаданных в базу данных. Кажется, что только старые файлы были затронуты ошибка, а не новые (теперь я думаю, что это предположение неверно). Поэтому идея заключалась в начальной загрузке моего Dev-ПК, а затем надеемся, что проблема не повторится с новыми файлами.
В случае ПК были запущены script, файлы, которые он читает, находятся на Windows Shared drive (подключенный сетевой диск). У меня нет доступа к этому поэтому я просто скопировал файлы на свой компьютер. Теперь для выполнения начального я запросил доступ к указанному сетевому диску и BOOM. Он также не работа от моего Dev. при чтении с общего диска.
Проблема не всегда происходит с тем же файлом. Теперь я думаю, что это не имеет никакого отношения к определенному файлу. Я также попробовал это на 64-битном ПК с 64-битным питоном. Там дольше произошла ошибка. Фактически файл был успешно прочитан, что не удалось на моем ПК. Теперь я думаю, что это какая-то проблема с памятью? Я считаю, что он всегда терпит неудачу в строке даты, потому что все остальные строки просто возвращают нулевую или пустую строку, которая не вызывает никаких проблем и вполне возможна, такое значение может быть нулевым. Но для даты это проблема, и она не должна быть нулевой, а затем выдается ошибка.
ИЗМЕНИТЬ Обновление:
На моем ПК он всегда терпит неудачу в том же файле. Загрузка этого файла работает отлично. Теперь я думаю, что это нечто вроде переполнения счетчика/числа, которое после чтения n файлов возникает. Это связано с количеством загружаемых файлов за один запуск script, а не с самого файла. Файлы, которые не работают при загрузке отдельно.