W zależności od systemu python== python2lub python== python3.
Wykonalne skrypty Pythona, zaczynają się od:
#!/usr/bin/env python
#!/usr/bin/env python2
#!/usr/bin/env python3...
W przypadku python py3k jest to zawarte w dokumentacji, której powinienem / mogę używać z numerem wersji , więc robię to:
#!/usr/bin/env python3
Ale znalazłem problem ze skryptami py2k.
Podczas gdy w py2k dokumentacji jest napisane do użytku: #! /usr/bin/env python,
na niektórych * nix-es python py3k jest domyślny, więc python == python3. (Na przykład pakiet Python ArchLinux , tutaj pliki pakietu Python ).
Jak spakować (skonfigurować, wykonać) i / lub przygotować skrypty Pythona do dystrybucji, aby sobie z tym poradzić?
Pytam o tworzenie pakietów oprogramowania, które mogą być łatwo uruchamiane przez użytkowników (bez modyfikowania środowiska)
Mogę zrobić tę samą sztuczkę dla skryptów Pythona py2k jako skrypty python py3k i ustawić go jako: #!/usr/bin/env python2? Czy mogę mieć pewność, że każda dystrybucja py2k w Pythonie zawiera python2plik, więc #!/usr/bin/env python2będzie działać?
Jeśli tak, dlaczego nie jest proponowany jako standard, na przykład w dokumentacji Python py2k ?
python2. Zastanawiam się, dlaczego nie jest standardem używać go, gdy jest py2k i py3k, a domyślne pythonmogą się różnić. Co z twoją radą na temat usuwania - to nie jest właściwe dla tego przykładu, ponieważ pytam o opakowanie. Chciałbym stworzyć pakiet, który może działać w różnych konfiguracjach / systemach. Nie ma mowy o modyfikacji środowiska. A co z sprawdzaniem - nie dotyczy Shebang - o ile wiem.
#!...python2w swoich programach, a jeśli używasz Python 3.x, użyj #!...python3. Nie polegaj na systemie operacyjnym, aby mieć odpowiedni link, jeśli wiesz, że będzie działał tylko w określonej wersji. Pracuję z systemami, które wciąż mają zainstalowany Python 1.5.2 jako /usr/bin/python- Piszę kod do obsługi starszych wersji Pythona lub używam go python2.
python2pliku wykonywalnego w moim systemie (ściśnięcie Debiana). pythonjest dowiązaniem symbolicznym do python2.6i python3jest dowiązaniem symbolicznym do python3.1, ale nie ma python2.
python2do uruchomienia (jeśli jest zainstalowany) i zawsze możesz sprawdzić wersję za pomocąpython -V. jeśli chcesz, żepythonbędzie to 2 lub 3, powinieneś,rm /usr/bin/pythona następnie utworzyć dowiązanie symboliczne, które wskazuje z twojej żądanej wersji Pythona npln -s /usr/bin/python2.5 /usr/bin/python.