Heute ist mein erster Tag mit Python und ich verwende pyenv, um mit Python-Versionen umzugehen. Ich installierte erfolgreich die neueste Version (3.6.3) und als global gesetzt mitPythons Shebang wertet eine andere Python-Version als der gleiche Pfad in der Konsole
pyenv global 3.6.3
Wenn nun im Terminal Ausführung
/usr/bin/env python
Ich erhalte die erwartete richtige Antwort
Python 3.6.3 (default, Oct 24 2017, 02:48:04)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
jedoch Das Problem, das ich habe, ist, dass Shebang, den ich in meiner Skriptdatei verwende, den gleichen /usr/bin/env python
Pfad hat, aber wer weiß, warum es immer noch die vorinstallierte Systemversion von Python evaluiert ist 2.7.6.
Ich bin Überprüfung der von Skript-Version wie dieser
#!/usr/bin/env python
import sys
print("Content-type:text/html\r\n\r\n")
print(sys.version)
und was ich mit dem Browser gedruckt werden (mit Apache2) ist
2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4]
Ich war Apache neu zu starten, mit pyenv configs spielen Nach irgendwelchen Hinweisen googeln, aber keinen Erfolg.
Hat jemand eine Idee, was hier falsch ist? Danke vielmals!
[diese] (https:
Also, wenn Sie wirklich ein Skript nur unter einer bestimmten Python-Version ausgeführt werden, sollten Sie diese spezielle Python-Version im shebang verwenden : //stackoverflow.com/questions/1534210/use-different-python-version-with-virtualenv/39713544#39713544) behauptet, dass Pyenv für 3.6+ veraltet ist – Nae