Как получить доступ к двум различным программам из PATH, которые имеют одинаковое имя в Windows 10?

617
Yogendra

Я добавил адреса Python 2.7 и Anaconda 4.1.1 (Python 3.5) в переменную PATH в Windows 10, когда я запускаю «python» из cmd, запускается программа, которая была добавлена ​​ранее. Как я могу получить доступ к обоим из них в зависимости от моего выбор без изменения имени либо

1

3 ответа на вопрос

1
MikeA

Вы не можете, если две программы, которые вы хотите запустить, имеют одинаковое имя. Что вы испытываете, так это то, как работает переменная PATH. Не должно быть причины, по которой вы не можете переименовать ту или иную программу, например, python -> python27 или python -> python35. Тогда вы можете надежно начать любой из них.

Я не хочу переименовывать файлы, потому что боюсь, что это может повлиять на другие файлы, которые зависят от них. Yogendra 7 лет назад 0
Я не могу вспомнить случай, когда это может быть проблемой, но это не имеет значения. Другие ответы, предполагающие ссылки или файлы bat, будут работать точно так же. MikeA 7 лет назад 0
1
Ƭᴇcʜιᴇ007

Либо укажите путь, чтобы вы вызывали правильный, либо, если вы не хотите переименовывать сам исполняемый файл, создайте файл ванны с произвольным именем (то есть:), Python34.batкоторый запускает исполняемый файл Python 3.4, указав его полный путь, а затем поместите пакетный файл в место на вашем пути.

1
David Woodward

Поскольку вы указали «без изменения имени того или иного», одним из возможных решений является создание ссылки (см. Mklink ) на файлы в вашем пути (или, более предпочтительно, в той же папке, что и исходный файл), и эта ссылка может иметь другое имя. Затем вы можете использовать имя этой ссылки, чтобы различать две версии, но файл все равно будет иметь свое первоначальное имя.

Пример (запустите cmd.exe от имени администратора - обязательно для mklink):

mklink "python 2.7\python2_7.exe" "python 2.7\python.exe" mklink "anaconda 4.1.1\python3_5.exe" "anaconda 4.1.1\python.exe"  CD \ python2_7.exe python3_5.exe