7z не является внутренней или внешней командой исполняемой программой или пакетным файлом

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Как заставить работать программу

#1 Июнь 22, 2014 08:47:01

Как заставить работать программу

Добрый день !
Я сейчас учу python3 по книге AbyteofPythonRussian-2.01.
Там такой пример программы

»’
1. Файлы и каталоги, которые необходимо скопировать, собираются в список.
2. Резервные копии должны храниться в основном каталоге резерва.
3. Файлы помещаются в zip-архив.
4. Именем для zip-архива служит текущая дата и время.
5. Будем использовать стандартную командуzip, имеющуюся по умолчанию в любом
стандартном дистрибутиве GNU/Linux. Пользователи Windows могут установить её
со страницы проекта GnuWin32 и добавить “C:Program FilesGnuWin32bin” к си-
стемной переменной окружения PATH, аналогично тому, как мы это делали для са-
мой команды “python”. Обратите внимание, что для этого подойдёт любая команда

Архиватор 7zip в командной строке Windows


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

»’
import os
import time

# 1. Файлы и каталоги, которые необходимо скопировать, собираются в список.
source =
# Заметьте, что для имён, содержащих пробелы, необходимо использовать
# двойные кавычки внутри строки.

# 2. Резервные копии должны храниться в основном каталоге резерва.
target_dir = ‘D:\book’# Подставьте тот путь, который вы будете использовать

# 3. Файлы помещаются в zip-архив.
# 4. Именем для zip-архива служит текущая дата и время.
target = target_dir + os.sep + time.strftime(‘%Y%m%d%H%M%S’) + ‘.zip’

# 5. Используем команду “zip” для помещения файлов в zip-архив

zip_command = “zip -qr ”.format(target, ‘’.join(source))

# Запускаем создание резервной копии

if os.system(zip_command) == 0:
print(’Резервная копия успешно создана в’,target)

else:
print(‘Создание резервной копии НЕ УДАЛОСТЬ’)

Я сделал все как описано но результат выдаёт.

Команда zip_command не работает в dos пишет что
zip не является внутренней или внешней командой,
исполняемой программой или пакетным файлом .

Читайте также:
Как создать презентацию в программе prezi

Подскажите что надо сделать чтобы все заработало спасибо заранее

Источник: python.su

Не удаётся выполнить системную команды в python на windows 7. Разархивирование архива в python

Пытаюсь разархивировать linux-овский архив с помощью программы 7z. Я предварительно добавил путь к 7z в переменной PATH. В консоли — всё получается, однако в коде python res == 1. Также в pycharm консоли вылазиют кракозябры. Как это понимать? Почему в консоли всё нормально, а os.system(‘команда из консоли’) выполняется с ошибкой?

Если есть другие способы извлечь архив в python, кроме как через консольную команду — подскажите, буду признателен.

Say Goodbye To WinRAR and 7 zip


path = ‘myarc.gz’ res = os.system(‘7z e «<>»‘.format(path))

введите сюда описание изображения Но при этом: введите сюда описание изображения

Отслеживать
задан 9 авг 2019 в 9:55
744 3 3 серебряных знака 13 13 бронзовых знаков

Кстати, текст вашей ошибки выглядит так: ‘»7z» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.’

9 авг 2019 в 10:56
А это вообще возможно? Разве os.system запускает не те команды, которые доступны в моей консоли?
9 авг 2019 в 11:26

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

from subprocess import run, PIPE path = ‘myarc.gz’ ret = run([‘7z’, ‘e’ f»], shell=True, check=True, stdout=PIPE, stderr=PIPE, universal_newlines=True) # Можно указать кодировку: encoding=’cp1251′ print(ret.stdout)
from subprocess import run, PIPE path = ‘myarc.gz’ ret = run([‘7z’, ‘e’ f»], shell=True, check=True, stdout=PIPE, stderr=PIPE) print(ret.stdout.decode(‘utf8’)) # Возможно utf8 следует заменить на cp1251 print(ret.stderr.decode(‘utf8’)) # Возможно utf8 следует заменить на cp1251

После изменения переменных окружения через:

Панель управленияВсе элементы панели управленияСистемаДополнительные параметры системыПеременные среды — Список обновлён

Необходимо перезапустить PyCharm.

Источник: ru.stackoverflow.com

Пишет ошибку в командной строке

Не является внутренней или внешней командой, исполняемой программой или пакетным файлом — как исправить?

Как исправить Не является внутренней или внешней командой, исполняемой программой или пакетным файлом

При выполнении команд в командной строке Windows 10 и Windows 11 вы можете получить сообщение об ошибке, где указано первое «слово» вашей команды — adb.exe, pip или python, npm или git, java, telnet или любое другое, а далее — не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

В этой инструкции подробно о том, что означает такое сообщение, почему появляется и как исправить ошибку при выполнении наиболее распространённых команд в командной строке.

  • Причины ошибки
  • Способы исправить ошибку Не является внутренней или внешней командой
  • Видео инструкция
Читайте также:
Как обновить программы через айтюнс

Причины ошибки «Не является внутренней или внешней командой» при выполнении команд в командной строке Windows 10 и Windows 11

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

команда параметр1 параметр2

Не является внутренней или внешней командой, исполняемой программой или пакетным файлом в командной строке

  1. В случае, если «команда» является собственной встроенной командой консоли (в качестве примера — cls), она выполняется с заданными параметрами.
  2. Если «команда» — это какой-то файл .exe, .cmd, .bat или иной, например, pip, python или adb, выполняется попытка его запуска из расположения, где запущена командная строка (выделено на изображении ниже) или из расположений, добавленных в системную переменную PATH (о которой поговорим подробнее далее). При удачном запуске и правильно переданных параметрах команда выполняется.

Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:

  • Самая распространённая причина — отсутствие исполняемого файла в папке, где запущена командная строка и в папках, содержащихся в PATH.
  • Ошибки при написании команды: при ошибке в имени файла, он не будет найден, что и приведёт к указанной ошибке.
  • Файл отсутствует где-либо, например, вы пробуете использовать telnet, в то время, когда соответствующий компонент Windows не установлен.
  • Редко — запускаемый через командную строку файл действительно не является исполняемой программой: изначально сам по себе или из-за повреждений.

Теперь о том, что делать в рассматриваемой ситуации.

Как исправить ошибку

Для исправления ошибки «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом» в зависимости от ситуации можно использовать следующие подходы.

Переход к папке с исполняемым файлом в командной строке

Если выполнение команды требуется не на регулярной основе, достаточно перейти в командной строке в папку, содержащую нужный файл, делается это следующим образом:

    Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи располагается в папке

C:Usersимя_пользователяAppDataLocalProgramsPythonPython39
cd полный_путь_к_папке_с_исполняемым_файлом

Выполнение команды с указанием папки

Добавление папки с программой в системную переменную среды PATH

В случае, когда использование команд требуется регулярно, например, для git, разумным будет добавить папку с этим исполняемым файлом в PATH, чтобы затем в любой момент времени выполнять команды, независимо от того, в какой папке открыта командная строка:

  1. Введите в поиск на панели задач Windows 10 или Windows 11 «Изменение переменных среды» или нажмите клавиши Win+R, введите sysdm.cpl, нажмите Enter, а в окне свойств системы перейдите на вкладку «Дополнительно». Изменение переменных среды в поиске Windows
  2. Нажмите кнопку «Переменные среды». Открыть параметры системных переменных среды
  3. В следующем окне вы можете добавить папку с исполняемым файлом в переменную PATH только для текущего пользователя или для системы в целом. Выбираем Path в нижней панели и нажимаем «Изменить». Изменить системную переменную PATH
  4. В следующем окне нажимаем «Создать» и вставляем путь к папке с исполняемым файлом, используемом в вашей команде. Добавление папки в системную переменную PATH
  5. Сохраняем настройки. Также следует перезапустить командную строку.
Читайте также:
Как пользоваться программой свит хоум 3д видео

Готово: если всё было указано верно, теперь вы сможете выполнять соответствующие команды без указания полного пути к исполняемым файлам, а сообщение об ошибке появляться не будет.

Примечание: если ошибка возникает при использовании команд python, обратите внимание, что при первоначальной установке вам предложат добавить необходимые пути в PATH (отметка Add Python to PATH), то же самое часто бывает и при установке других программ:

Добавление Python в PATH при установке

Установка недостающих компонентов

Иногда проблема возникает из-за того, что нужный файл попросту отсутствует на компьютере:

Включение клиента Telnet

  • Вы пробуете использовать команды telnet, но не зашли в Панель управления —Программы и компоненты — Включение или отключение компонентов Windows и не включили «Клиент Telnet».
  • Запускаете команды pyinstaller, но предварительно не установили его командой pip install pyinstaller
  • Пробуете использовать команды adb.exe, но не установили необходимые компоненты Android SDK Platform Tools.

Аналогичная ситуация может быть и для многих других, не входящих в стандартную поставку Windows 10 и Windows 11 компонентов, например, java.

Если ошибка возникает при запуске системных инструментов Windows

В ситуации, когда сообщение «Не является внутренней или внешней командой» в командной строке выдается при попытке использовать системные инструменты, такие как sfc /scannow или slmgr:

  1. Внимательно проверьте правильность написания команды: раскладка, пробелы.
  2. Убедитесь, что соответствующие файлы есть в системе (обычно — в C:WindowsSystem32). Попробуйте запустить их напрямую из этой папки (перейдя в папку с помощью cd C:WindowsSystem32) и с указанием расширения, для файлов в примере — sfc.exe и slmgr.vbs
  3. Убедитесь, что в системной переменной среды PATHEXT указаны следующие расширения: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

Видео инструкция

Надеюсь, статья и видео помогли разобраться с проблемой и помогли в её решении. Остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.

Источник: xn—-ctbeac1atud4aaxcs.xn--p1ai

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru