Selon le système, python
== python2
ou python
== python3
.
Scripts Python exécutables, commence par:
#!/usr/bin/env python
#!/usr/bin/env python2
#!/usr/bin/env python3...
Pour python py3k, il est fourni dans la documentation que je devrais / peux utiliser avec le numéro de version , donc je fais ceci:
#!/usr/bin/env python3
Mais j'ai trouvé un problème avec les scripts py2k.
Alors que dans la documentation py2k il est écrit à l' utilisation: #! /usr/bin/env python
,
sur certains * nix-es, python py3k est par défaut, donc python == python3. (Par exemple , le package python ArchLinux , ici les fichiers du package python ).
Comment empaqueter (configurer, créer) et / ou préparer des scripts python pour la distribution pour gérer cela?
Je pose des questions sur la création de progiciels pouvant être exécutés facilement par les utilisateurs (sans modifier leur environnement)
Puis - je faire la même astuce pour les scripts python py2k comme pour les scripts Py3K python et le définir comme: #!/usr/bin/env python2
? Puis-je être sûr que chaque distribution python py2k contient un python2
fichier, alors #!/usr/bin/env python2
cela fonctionnera-t-il?
Si oui, pourquoi n'est-il pas proposé en standard, par exemple dans la documentation python py2k ?
python2
. Je me demande pourquoi il n'est pas standard de l'utiliser quand il y a py2k et py3k et que la valeur par défaut python
peut différer. Qu'en est-il de vos conseils sur le retrait - ce n'est pas approprié à cet exemple, car je pose des questions sur l'emballage. Je voudrais créer un package pouvant fonctionner dans différentes configurations / systèmes. Aucun moyen de modifier l'environnement. Qu'en est-il de la vérification - cela ne s'applique pas à Shebang - pour autant que je sache.
#!...python2
dans vos programmes et si vous utilisez Python 3.x, puis utilisez #!...python3
. Ne comptez pas sur le système d'exploitation pour avoir le bon lien si vous savez qu'il ne fonctionnera que sur une version spécifique. Je travaille avec des systèmes sur lesquels Python 1.5.2 est toujours installé /usr/bin/python
- j'écris du code pour gérer les anciennes versions de Python ou j'utilise python2
.
python2
exécutable sur mon système (Debian squeeze). python
est un lien symbolique vers python2.6
, et python3
est un lien symbolique vers python3.1
, mais il n'y a pas python2
.
python2
pour l'exécuter (s'il est installé), et vous pouvez toujours vérifier la version avecpython -V
. si vous voulez quepython
ce soit 2 ou 3, vous devriezrm /usr/bin/python
puis créer un lien symbolique qui pointe à partir de votre version python desierd par exempleln -s /usr/bin/python2.5 /usr/bin/python
.