Как добавить путь в переменную %PATH% Windows
@0x00, код не устарел, переменные окружения все так же хранятся в реестре. Единственно, что код написан для Python 2, но это тоже не проблема.
30 авг 2018 в 6:07
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment , переменная Path . Прочитать, добавить, записать. Если прав хватит, конечно.
30 авг 2018 в 7:24
@0x00, если нужно именно глобально (в системный PATH, а не в пользовательский), то нужны права администратора.
30 авг 2018 в 17:44
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Прежде всего, что нужно знать:
- Переменные окружения текущего пользователя хранятся в реестре в HKCU\Environment
- Общесистемные (общие для всех пользователей) переменные окружения хранятся в реестре в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment , для записи в системные переменные окружения (в том числе в PATH ) нужны права администратора.
Простой вариант
Если просто нужно добавить что-то в пользовательский PATH одной функцией:
import winreg def add_to_path(path, root=winreg.HKEY_CURRENT_USER, key_path='Environment', access=winreg.KEY_ALL_ACCESS): root_key = winreg.ConnectRegistry(None, root) key = winreg.OpenKey(root_key, key_path, 0, access) value, value_type = winreg.QueryValueEx(key, 'path') value = value.rstrip(';') + ';' + path winreg.SetValueEx(key, 'path', 0, value_type, value) winreg.CloseKey(key) winreg.CloseKey(root_key) add_to_path(r'C:\Test Path')
Более сложный вариант
В угоду богу велосипедостроения написал класс-обертку над модулем winreg с менеджером контекста:
import winreg HKCR = winreg.HKEY_CLASSES_ROOT HKCC = winreg.HKEY_CURRENT_CONFIG HKCU = winreg.HKEY_CURRENT_USER HKLM = winreg.HKEY_LOCAL_MACHINE HKU = winreg.HKEY_USERS class RegistryKey: def __init__(self, root, path: str, access=winreg.KEY_ALL_ACCESS): self._root_key = winreg.ConnectRegistry(None, root) self._key = winreg.OpenKey(self._root_key, path, 0, access) def __enter__(self): return self def close(self): if hasattr(self, '_key') and self._key: winreg.CloseKey(self._key) self._key = None if hasattr(self, '_root_key') and self._root_key: winreg.CloseKey(self._root_key) self._root_key = None def __exit__(self, exc_type, exc_value, traceback): self.close() def __del__(self): self.close() def __iter__(self): for i in range(1024): try: n, v, _ = winreg.EnumValue(self._key, i) except (OSError, EnvironmentError): break yield n, v def __getitem__(self, name: str): return winreg.QueryValueEx(self._key, name)[0] def __setitem__(self, name: str, value): value_type = winreg.QueryValueEx(self._key, name)[1] winreg.SetValueEx(self._key, name, 0, value_type, value)
Пример работы с переменной PATH пользователя:
with RegistryKey(HKCU, 'Environment') as key: old_path = key['path'] # Добавляем путь в переменную PATH key['path'] = key['path'].rstrip(';') + ';' + r'C:\Test Path' # Так тоже будет работать, но в PATH может случайно оказаться две точки с запятой: key['path'] += ';' + r'C:\Test Path' print(key['path']) input('Press Enter. ') # Восстанавливаем старый PATH key['path'] = old_path print(key['path'])
Соответственно, для работы с системным PATH нужно использовать RegistryKey(HKLM, r’SYSTEM\CurrentControlSet\Control\Session Manager\Environment’) .
Ответ основан на скрипте по ссылке из первого комментария к вопросу: code.activestate.com/recipes/416087
3. Установка Python на Windows, Linux, Mac OS
Установка Python доступна на самых разных платформах, включая Linux и Mac OS X. Давайте разберемся, как установить среду Python.
Установка локальной среды
Откройте окно терминала и введите «python», чтобы узнать, установлен ли он уже и если да, то какая версия установлена.
- Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX и т. д.)
- Windows 9x/NT/2000
- Macintosh (Intel, PPC, 68K)
- OS/2
- DOS (несколько версий)
- PalmOS
- Мобильные телефоны Nokia
- Windows CE
- Acorn/RISC OS
- BeOS
- Amiga
- VMS/OpenVMS
- QNX
- VxWorks
- Psion
- Python также был перенесен на виртуальные машины Java и .NET.
Загрузка Python
Самый последний и актуальный исходный код, двоичные файлы, документация, новости и т. д. доступны на официальном сайте Python https://www.python.org/.
Вы можете загрузить документацию Python, перейдя по адресу https://www.python.org/doc/. Документация доступна в форматах HTML, PDF и PostScript.
Установка Python
Дистрибутив Python доступен для самых разных платформ. Вам необходимо загрузить только двоичный код, подходящий для вашей платформы, и установить Python.
Если двоичный код для вашей платформы недоступен, вам понадобится компилятор C для компиляции исходного кода вручную. Компиляция исходного кода обеспечивает большую гибкость с точки зрения выбора функций, необходимых для вашей установки.
Ниже приведен краткая инструкция по установке Python на различных платформах.
Установка версии для Unix и Linux
Выполните следующие шаги по установке Python на устройстве Unix/Linux.
- Откройте веб-браузер и перейдите по адресу https://www.python.org/downloads/
- Перейдите по ссылке, чтобы загрузить заархивированный исходный код, доступный для Unix/Linux.
- Загрузите и распакуйте файлы.
- Отредактируйте файл Modules/Setup, если вы хотите настроить некоторые параметры.
- Запустите скрипт ./configure
- Выполните
- Выполните установку Python
Python установится в стандартную директорию /usr/local/bin, а его библиотеки в /usr/local/lib/pythonXX, где XX – это версия Python.
Установка Python на Windows
Выполните следующие шаги по установке Python на ОС Windows.
- Откройте веб-браузер и перейдите по адресу https://www.python.org/downloads/
- Перейдите по ссылке на файл python-XYZ.msi установщика Windows, где XYZ – это версия, которую необходимо установить.
- Чтобы использовать этот установщик python-XYZ.msi, система Windows должна поддерживать Microsoft Installer 2.0. Сохраните файл установщика на компьютере, а затем запустите его, чтобы узнать, поддерживает ли ваш компьютер MSI.
- Запустите скачанный файл, после чего откроется мастер установки и настройки Python, который делает процесс установки максимально простым. Просто примите настройки по умолчанию и дождитесь завершения установки.
Установка версии для Macintosh
Последние Mac поставляются с установленным Python, но его версия может быть устаревшей. Смотрите инструкции по получению текущей версии вместе с дополнительными инструментами для поддержки разработки на Mac на странице http://www.python.org/download/mac/. Для версий Mac OS до Mac OS X 10.3 (выпущенных в 2003 году) доступен MacPython.
Он поддерживается Джеком Янсеном, и вы можете получить полный доступ ко всей документации на его веб-сайте — http://www.cwi.nl/~jack/macpython.html. Также там вы можете получить полную информацию об установке версии для Mac OS.
Настройка PATH
Программы и другие исполняемые файлы могут находиться во многих каталогах, поэтому операционные системы предоставляют путь поиска, в котором перечислены каталоги, в которых ОС ищет исполняемые файлы.
Путь хранится в переменной среде, которая представляет собой именованную строку, поддержива емую операционной системой. Эта переменная содержит информацию, доступную для командной оболочки и других программ.
Переменная пути называется PATH в Unix или Path в Windows (Unix чувствителен к регистру; Windows — нет).
В Mac OS установщик обрабатывает сведения о пути. Чтобы вызвать интерпретатор Python из любого конкретного каталога, вы должны добавить каталог Python в свой путь.
Настройка пути в Unix/Linux
Чтобы добавить директорию Python к пути для определенного сеанса в Unix:
- В командной оболочке csh введите setenv PATH «$PATH:/usr/local/bin/python» и нажмите Enter.
- В командной оболочке bash (Linux) введите export PATH=»$PATH:/usr/local/bin/python» и нажмите Enter.
- В командной оболочке sh или ksh введите PATH=»$PATH:/usr/local/bin/python» и нажмите Enter.
- Примечание: /usr/local/bin/python – это путь к каталогу Python.
Настройка пути в Windows
Чтобы добавить каталог Python к пути для определенного сеанса в Windows:
В командной строке введите path %path%;C:\Python и нажмите Enter.
Примечание: C:\Python – это путь к каталогу Python.
Переменные среды Python
В таблице приведены важные переменные среды, которые может распознавать Python:
№ п/п | Переменная и описание |
1 | PYTHONPATH Роль данной переменной аналогична PATH. Эта переменная сообщает интерпретатору Python, где найти файлы модуля, импортированные в программу. Переменная должна включать каталог исходной библиотеки Python и каталоги, содержащие исходный код Python. PYTHONPATH иногда задается установщиком Python. |
2 | PYTHONSTARTUP Содержит путь к файлу инициализации, содержащему исходный код Python. Выполняется каждый раз при запуске интерпретатора. В Unix называется .pythonrc.py и содержит команды, которые загружают утилиты или изменяют PYTHONPATH. |
3 | PYTHONCASEOK Используется в Windows, чтобы указать Python найти первое совпадение без учета регистра в операторе импорта. Задайте для этой переменной любое значение, чтобы активировать ее. |
4 | PYTHONHOME Это альтернативный путь поиска модуля. Обычно встраивается в каталоги PYTHONSTARTUP или PYTHONPATH для упрощения переключения библиотек модулей. |
Запуск Python
Есть три разных способа запуска Python.
Интерактивный интерпретатор
Вы можете запустить Python из Unix, DOS или любой другой системы, которая предоставляет вам интерпретатор командной строки или командное окно.
Введите python в командной строке.
Начните писать код прямо в интерактивном интерпретаторе.
$python # Unix/Linux или python% # Unix/Linux или C:> python # Windows/DOS
В таблице приведен список всех доступных параметров командной строки:
№ п/п | Опции и описание |
1 | -d Обеспечивает вывод отладки. |
2 | -O Генерирует оптимизированный байт-код (в результате создаются файлы .pyo). |
3 | -S Не запускает импорт местоположения для поиска путей Python при запуске. |
4 | -v Подробный вывод (подробная трассировка операторов импорта). |
5 | -X Отключает встроенные исключения на основе классов (используйте только строки); устарело, начиная с версии 1.6. |
6 | -c cmd Запускает скрипт Python, отправленный в качестве строки cmd |
7 | file Запускает скрипт Python из заданного файла |
Скрипт из командной строки
Сценарий Python может быть выполнен из командной строки, вызвав интерпретатор в вашем приложении, как показано ниже:
$python script.py # Unix/Linux или python% script.py # Unix/Linux или C: >python script.py # Windows/DOS
Примечание: убедитесь, что режим разрешений для файла позволяет выполнение.
Интегрированная среда разработки
Вы также можете запустить Python из среды графического интерфейса пользователя (GUI), если в вашей системе установлено приложение с графическим интерфейсом, которое поддерживает Python.
- Unix — IDLE является первой Unix IDE для Python.
- Windows — PythonWin является первым интерфейсом Windows для Python, представляющий собой IDE с графическим интерфейсом.
- Macintosh — версия Python для Macintosh вместе с IDLE IDE доступна с основного веб-сайта и может быть загружена в виде файлов MacBinary или BinHex’d.
Если вы не можете правильно настроить среду, обратитесь за помощью к системному администратору. Убедитесь, что среда Python правильно настроена и работает нормально.
Примечание: все примеры, приведенные в последующих главах, выполняются с версией Python 2.4.3, доступной в версии CentOS Linux.
Мы провели настройку окружения онлайн-среды программирования Python, так что вы можете выполнять все доступные примеры онлайн одновременно, когда изучаете теорию. Не стесняйтесь изменять любой пример и выполнять его онлайн.
Оглавление
- 1. Python – Самоучитель для начинающих
- 2. Python – Обзор
- 3. Python – Установка среды
- 4. Python – Базовый синтаксис
- 4.1. Python – Аргументы командной строки
- 5. Python – Типы переменных
- 6. Python – Основные операторы
- 6.1. Python – Арифметические операторы
- 6.2. Python – Операторы сравнения
- 6.3. Python – Операторы присваивания: примеры
- 6.4. Python – Побитовые операторы
- 6.5. Python – Логические операторы
- 6.6. Python – Операторы членства
- 6.7. Python – Операторы идентификации
- 6.8. Python – Приоритет операторов
- 7. Python – Условные операторы
- 7.1. Python – Условие if
- 7.2. Python – Условные операторы if. else и elif
- 7.3. Python – Вложенные операторы if
- 8. Python – Циклы
- 8.1. Python – Цикл while
- 8.2. Python – Цикл for
- 8.3. Python – Вложенные циклы
- 8.4. Python – Оператор break
- 8.5. Python – Оператор continue
- 8.6. Python – Оператор pass
- 9. Python – Числа
- 9.1. Python – Метод abs()
- 9.2. Python – Метод ceil()
- 9.3. Python – Метод cmp()
- 9.4. Python – Метод exp()
- 9.5. Python – Метод fabs()
- 9.6. Python – Метод floor()
- 9.7. Python – Метод log()
- 9.8. Python – Метод log10()
- 9.9. Python – Метод max()
- 9.10. Python – Метод min()
- 9.11. Python – Метод modf()
- 9.12. Python – Метод pow()
- 9.13. Python – Метод round()
- 9.14. Python – Метод sqrt()
- 9.15. Python – Метод choice()
- 9.16. Python – Метод randrange()
- 9.17. Python – Метод random()
- 9.18. Python – Метод seed()
- 9.19. Python – Метод shuffle()
- 9.20. Python – Метод uniform()
- 9.21. Python – Метод acos()
- 9.22. Python – Метод asin()
- 9.23. Python – Метод atan()
- 9.24. Python – Метод atan2()
- 9.25. Python – Метод cos()
- 9.26. Python – Метод hypot()
- 9.27. Python – Метод sin()
- 9.28. Python – Метод tan()
- 9.29. Python – Метод degrees()
- 9.30. Python – Метод radians()
Как добавить путь в переменную среды PATH в Windows
Для быстрого доступа к командам в командной строке без необходимости ввода полного пути к исполняемому файлу можно добавить путь к папке с этими исполняемыми файлами в переменную PATH в Windows, особенно это может быть полезным при работе с adb, pip и python, git, java и другими средствами разработки с отладки.
Добавление пути в PATH в Свойствах системы
Шаги будут следующими:
- Нажмите клавиши Win+R на клавиатуре (в Windows 11 и Windows 10 можно нажать правой кнопкой мыши по кнопке Пуск и выбрать пункт «Выполнить»), введите sysdm.cpl в окно «Выполнить» и нажмите Enter.
- Перейдите на вкладку «Дополнительно» и нажмите кнопку «Переменные среды».
- Вы увидите список переменных среды пользователя (вверху) и системных переменных (внизу). PATH присутствует в обоих расположениях.
- Если вы хотите добавить свой путь в PATH только для текущего пользователя, выберите «Path» в верхней части и нажмите «Изменить» (или дважды нажмите по переменной PATH в списке). Если для всех пользователей — то же самое в нижней части.
- Для добавления нового пути нажмите «Создать», а затем впишите новый путь, который требуется добавить в переменную PATH в новой строке. Вместо нажатия «Создать» можно дважды кликнуть по новой строке для ввода нового пути.
- После ввода всех необходимых путей нажмите «Ок» — ваша папка или папки добавлены в переменную PATH.
Внимание: после добавления пути в переменную PATH потребуется перезапустить командную строку (если она была запущена в момент изменения), чтобы использовать команды без указания полного пути.
Как добавить путь в переменную PATH в командной строке и PowerShell
Вы можете добавить переменную PATH для текущей сессии в консоли: то есть она будет работать до следующего запуска командной строки. Для этого используйте команду:
set PATH=%PATH%;C:\ваш\путь
Есть возможность добавить путь в PATH с помощью командной строки и на постоянной основе (внимание: есть отзывы, что может повредить записи в переменной PATH, а сами изменения производятся для системной переменной PATH), команда будет следующей:
setx /M path "%path%;C:\ваш\путь"
Набор команд для добавления пути в переменную PATH пользователя с помощью PowerShell:
$PATH = [Environment]::GetEnvironmentVariable("PATH") $my_path = "C:\ваш\путь" [Environment]::SetEnvironmentVariable("PATH", "$PATH;$my_path", "User")
Если требуется добавить путь в системную переменную PATH для всех пользователей, последнюю команду изменяем на:
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$my_path", "Machine")
А вдруг и это будет интересно:
- Лучшие бесплатные программы для Windows
- TakeOwnershipEx — получение полного доступа к папкам и файлам и восстановление прав по умолчанию
- Ошибка 0x8007000d в Windows 11 или 10 — как исправить?
- Chrome открывает поиск вместо сайта — решение
- Недопустимая конфигурация приложения в Steam — варианты решения
- Ошибка при запуске приложения 0xc0000006 — как исправить?
- Windows 11
- Windows 10
- Android
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Установка с флешки
- Настройка роутера
- Всё про Windows
- В контакте
- Одноклассники
- Живые обои на рабочий стол Windows 11 и Windows 10
- Лучшие бесплатные программы на каждый день
- Как скачать Windows 10 64-бит и 32-бит оригинальный ISO
- Как смотреть ТВ онлайн бесплатно
- Бесплатные программы для восстановления данных
- Лучшие бесплатные антивирусы
- Средства удаления вредоносных программ (которых не видит ваш антивирус)
- Встроенные системные утилиты Windows 10, 8 и 7, о которых многие не знают
- Бесплатные программы удаленного управления компьютером
- Запуск Windows 10 с флешки без установки
- Лучший антивирус для Windows 10
- Бесплатные программы для ремонта флешек
- Что делать, если сильно греется и выключается ноутбук
- Программы для очистки компьютера от ненужных файлов
- Лучший браузер для Windows
- Бесплатный офис для Windows
- Запуск Android игр и программ в Windows (Эмуляторы Android)
- Что делать, если компьютер не видит флешку
- Управление Android с компьютера
- TakeOwnershipEx — получение полного доступа к папкам и файлам и восстановление прав по умолчанию
- Ошибка 0x8007000d в Windows 11 или 10 — как исправить?
- Chrome открывает поиск вместо сайта — решение
- Недопустимая конфигурация приложения в Steam — варианты решения
- Ошибка при запуске приложения 0xc0000006 — как исправить?
- Как удалить драйвер в командной строке
- Экран iPhone может быть слишком близко — как отключить?
- Winget COM Server — что это и что делать, если он грузит процессор
- Как копировать текст с картинки в приложении «Ножницы»
- The AC power adapter wattage and type cannot be determined — причины и решение
- Слышу себя, говоря в микрофон — причины и решение
- Невозможно подключиться к службе RPC в Realtek Audio Console — как исправить?
- Ошибка Application load error 5:0000065434 при запуске игры Steam
- Контакты на случай ЧП на iPhone — как добавить и зачем?
- Secure Boot и загрузка с флешки Ventoy
- Windows
- Android
- iPhone, iPad и Mac
- Программы
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Ноутбуки
- Wi-Fi и настройка роутера
- Интернет и браузеры
- Для начинающих
- Безопасность
- Ремонт компьютеров
- Windows
- Android
- iPhone, iPad и Mac
- Программы
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Ноутбуки
- Wi-Fi и настройка роутера
- Интернет и браузеры
- Для начинающих
- Безопасность
- Ремонт компьютеров
Модуль os.path
os.path является вложенным модулем в модуль os, и реализует некоторые полезные функции для работы с путями.
os.path.abspath(path) — возвращает нормализованный абсолютный путь.
os.path.basename(path) — базовое имя пути (эквивалентно os.path.split(path)[1]).
os.path.commonprefix(list) — возвращает самый длинный префикс всех путей в списке.
os.path.dirname(path) — возвращает имя директории пути path.
os.path.exists(path) — возвращает True, если path указывает на существующий путь или дескриптор открытого файла.
os.path.expanduser(path) — заменяет ~ или ~user на домашнюю директорию пользователя.
os.path.expandvars(path) — возвращает аргумент с подставленными переменными окружения ($name или $ заменяются переменной окружения name). Несуществующие имена не заменяет. На Windows также заменяет %name%.
os.path.getatime(path) — время последнего доступа к файлу, в секундах.
os.path.getmtime(path) — время последнего изменения файла, в секундах.
os.path.getctime(path) — время создания файла (Windows), время последнего изменения файла (Unix).
os.path.getsize(path) — размер файла в байтах.
os.path.isabs(path) — является ли путь абсолютным.
os.path.isfile(path) — является ли путь файлом.
os.path.isdir(path) — является ли путь директорией.
os.path.islink(path) — является ли путь символической ссылкой.
os.path.ismount(path) — является ли путь точкой монтирования.
os.path.join(path1[, path2[, . ]]) — соединяет пути с учётом особенностей операционной системы.
os.path.normcase(path) — нормализует регистр пути (на файловых системах, не учитывающих регистр, приводит путь к нижнему регистру).
os.path.normpath(path) — нормализует путь, убирая избыточные разделители и ссылки на предыдущие директории. На Windows преобразует прямые слеши в обратные.
os.path.realpath(path) — возвращает канонический путь, убирая все символические ссылки (если они поддерживаются).
os.path.relpath(path, start=None) — вычисляет путь относительно директории start (по умолчанию — относительно текущей директории).
os.path.samefile(path1, path2) — указывают ли path1 и path2 на один и тот же файл или директорию.
os.path.sameopenfile(fp1, fp2) — указывают ли дескрипторы fp1 и fp2 на один и тот же открытый файл.
os.path.split(path) — разбивает путь на кортеж (голова, хвост), где хвост — последний компонент пути, а голова — всё остальное. Хвост никогда не начинается со слеша (если путь заканчивается слешем, то хвост пустой). Если слешей в пути нет, то пустой будет голова.
os.path.splitdrive(path) — разбивает путь на пару (привод, хвост).
os.path.splitext(path) — разбивает путь на пару (root, ext), где ext начинается с точки и содержит не более одной точки.
os.path.supports_unicode_filenames — поддерживает ли файловая система Unicode.
Для вставки кода на Python в комментарий заключайте его в теги