Cześć.
Pracuje nad softem który z poziomu Javy (nie ma to znaczenia) ma tworzyć wirtualne środowisko dla Pythona i tam coś w nim robić. Do tworzenia takiego środowiska wykorzystuje virtualenv i polecenia konsolowe które uruchamiam z poziomu Javy. Problem w tym że muszę tworzyć takie środowisko dla Pythona 2 lub 3. Aby coś takiego zrobić pod windowsem trzeba wywołać:
virtualenv -p path/python.exe
Niestety mój tool nie ma pojęcia gdzie zainstalowano Pythona w obu wersjach. Aktualnie robię to mniej więcej tak (https://stackoverflow.com/a/22626734/5877109):
- Klient musi mieć zainstalowane 2 wersje Pythona w dowolnym miejscu.
- Dodaje do zmiennych środowiskowych ścieżki do obu wersji.
- W wersji Python 2 plik .exe należy zmienić z python.exe na python2.exe
- Mogę wówczas wywoływać polecenia:
virtualenv -p python2.exe
lub
virtualenv -p python.exe
Średnio mi się to podoba bo jeśli klient nie wykona poprawnie wszystkich kroków to wszystko się sypie.
Ma ktoś na to jakieś sensowne rozwiązanie? Na Linuxie sprawa jest prosta ale pod windowsa jak zwykle trzeba kombinować.