Ошибка при установке и запуске pywin32 2.7 - программирование
Подтвердить что ты не робот

Ошибка при установке и запуске pywin32 2.7

Я придумал пару ошибок после установки:

pywin32-217.win32-py2.7

Недавно я обновил ArcGIS до 10.1, и он использует Python 2.7 (в отличие от версии 2.6, поставляемой с ArcGIS 10.0)

Когда я запускаю установщик на 64-разрядной версии Windows 7, он устанавливает, но выдает следующее сообщение:

закрыть сбой в деструкторе файлового объекта:

sys.excepthook отсутствует

lost sys.stderr

У меня был простой python script для печати на принтер из папки, содержащей файлы .pdf, которые работали до моего обновления

import arcpy, glob, win32api, os

pdfLoc = arcpy.GetParameterAsText(0)

try:
    copies = int(arcpy.GetParameter(1))
except:
    copies = 1

for pdfname in glob.glob(os.path.join(pdfLoc, "*.pdf")):
    fullpath = os.path.join(pdfLoc, pdfname)
    for copy in range(copies):
        win32api.ShellExecute(0, "print", pdfname, None, ".", 0)

del fullpath
del pdfname
del pdfLoc

Теперь, когда я запускаю script, я получаю следующую ошибку:

Traceback (последний последний вызов): Файл "Z:\ESRI\Python\Solstice_Tools_Scripts\Printer_Tools\Batch_Print_From_PDF_Only\BatchprintFromPDFOnly_Test.py", строка 34, в     win32api.ShellExecute(0, "print", pdfname, None, ".", 0) error: (31, "ShellExecute", "Устройство, подключенное к системе, не функционирование.)

Не удалось выполнить (BatchPrintFromPDFOnly2).

Я искал поисковые запросы и пробовал несколько решений, таких как запуск исполняемого файла в режиме устранения неполадок, но ошибка сохраняется. Может ли кто-нибудь предположить, что может это сделать?

В качестве дополнительной заметки я обновил 4 компьютера в своей компании до новой версии python и ArcGIS, и только одна из них бросает эту ошибку. Остальное отлично работает.

Спасибо, Mike

4b9b3361

Ответ 1

У меня была та же проблема, но я решил ее немного по-другому. Вместо создания другой учетной записи администратора я смог выполнить pywin32-217.win32-py2.7.exe успешно из командной строки, которую я начал с "Запуск от имени администратора".

Ответ 2

Альтернативное решение - это то, что Марк Хаммонд предлагает в списке рассылки pywin32:

Это похоже на то, что если пользовательский контроль доступа (UAC) отключен - это   отключено для вас?

В любом случае, попробуйте запустить "скрипты python\pywin32_postinstall.py -install" из корня каталога установки, и все должно закончить регистрацию - это должно исправить следующую ошибку, которую вы видите.

Это сработало для меня.

Ответ 3

Вы не можете устанавливать как администратор, см. этот отчет об ошибке:

Возможно, это связано с тем, что вы используете Windows под учетной записью "Администратор", и все, что вы обычно запускаете, равно "запустить как администратор"

И парадоксально запускается установка pywin32 в Windows 7, поскольку администратор вызывает эту ошибку.

Итак, обходным путем является создание другой учетной записи администратора

net user Admin/добавить/ net user Admin
net localgroup Администраторы Admin/add

а затем запустите установку pywin32 с помощью

runas/user: Admin pywin32-217.win32-py2.7.exe

Ответ 4

Ни одно из решений не помогло мне (сидит в Windows 10).

Но я, наконец, исправился, когда запустил c:\python27\scripts\pywin32_postinstall.py -install

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

Ответ 5

Я столкнулся с той же проблемой, что и автор. Я использовал script из Tim Golden python staff для печати текстового файла. После запуска появляются такие ошибки, как:

pywintypes.error: (31, 'ShellExecute', 'Устройство, подключенное к системе, не работает.')

Моя система - это окна 7, 64 бит. Питон python2.7 64bit.

Я думаю, что ошибка не имеет ничего общего с установкой pywin32 или настройками системы Windows. Я предполагаю, что причиной является установка программного обеспечения для открытия по умолчанию в .txt файле. Потому что после того, как я изменил программное обеспечение для открытия по умолчанию от Nodepad ++ до блокнота, я могу распечатать файл на своем Hp-принтере.

Ответ 6

Работа с PowerShell command as admin работала для меня в Windows 10, где с ошибкой Command line prompt (as admin).

Ответ 7

Шаги по установке pywin32 -

  • сетевой пользователь Admin/add
  • net user Admin
  • net localgroup Администраторы Admin/add
  • runas/user: Admin pywin32-217.win32-py2.7.exe

Ответ 8

У меня возникла такая же проблема, когда я установил pywin32-219.win-amd64-py2.7.exe, запустив файл установщика в качестве администратора.

Как только я установил его, просто выполнив файл (дважды щелкнув по нему), я больше не сталкивался с этой проблемой.

Я нахожусь в Windows 7 64-разрядной версии SP1 с Python 2.7.9 (64 бит)

Однако, я заметил одну странную вещь, если я просто дважды щелкнул инсталлятор exe, потребовалось чуть более 20 секунд, чтобы появилось приглашение, хочу ли я запускать exe файл или нет, тогда как в случае запуска файла как администратор, это случилось именно тогда (не нужно было так долго ждать) Я использую SSD на 120 ГБ, поэтому не могу сомневаться в медленности жесткого диска в этом случае.

В любом случае, здесь результат после успешной установки pywin32 в моем случае:

Copied pythoncom27.dll to C:\Windows\system32\pythoncom27.dll
Copied pythoncomloader27.dll to C:\Windows\system32\pythoncomloader27.dll
Copied pywintypes27.dll to C:\Windows\system32\pywintypes27.dll
Registered: Python.Interpreter 
Registered: Python.Dictionary 
Registered: Python 
-> Software\Python\PythonCore\2.7\Help[None]=None
-> Software\Python\PythonCore\2.7\Help\Pythonwin Reference[None]='C:\\Python27\\Lib\\site-packages\\PyWin32.chm'
Pythonwin has been registered in context menu
Creating directory C:\Python27\Lib\site-packages\win32com\gen_py
Shortcut for Pythonwin created
Shortcut to documentation created
The pywin32 extensions were successfully installed.

Ответ 9

Я решил это, используя это:

pip install pypiwin32