Use python3 and python2 instead of python on Linux

Prefer python3 over python2 when both are available.

Both python2 and python3 should always exists.
More info at: http://legacy.python.org/dev/peps/pep-0394/

Conflicts:
	src/core/utils/misc.h
	src/searchengine/supportedengines.h
This commit is contained in:
Gabriele
2015-02-27 14:00:00 +01:00
committed by sledgehammer999
parent 5c9ce2952b
commit 7e63908977
4 changed files with 41 additions and 3 deletions

View File

@@ -271,6 +271,26 @@ int misc::pythonVersion()
static int version = -1;
if (version < 0) {
QProcess python_proc;
#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
/*
* On Unix-Like Systems python2 and python3 should always exist
* http://legacy.python.org/dev/peps/pep-0394/
*/
python_proc.start("python3", QStringList() << "--version", QIODevice::ReadOnly);
if (python_proc.waitForFinished()) {
if (python_proc.exitCode() == 0) {
version = 3;
return 3;
}
}
python_proc.start("python2", QStringList() << "--version", QIODevice::ReadOnly);
if (python_proc.waitForFinished()) {
if (python_proc.exitCode() == 0) {
version = 2;
return 2;
}
}
#else
python_proc.start("python", QStringList() << "--version", QIODevice::ReadOnly);
if (!python_proc.waitForFinished()) return -1;
if (python_proc.exitCode() < 0) return -1;
@@ -283,10 +303,26 @@ int misc::pythonVersion()
version = 3;
else
version = 2;
#endif
}
return version;
}
QString misc::pythonExecutable()
{
#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
/*
* On Unix-Like Systems python2 and python3 should always exist
* http://legacy.python.org/dev/peps/pep-0394/
*/
if (pythonVersion() == 3)
return "python3";
if (pythonVersion() == 2)
return "python2";
#endif
return "python";
}
// return best userfriendly storage unit (B, KiB, MiB, GiB, TiB)
// use Binary prefix standards from IEC 60027-2
// see http://en.wikipedia.org/wiki/Kilobyte