1813 @param variant indicator for the PySide variant (not used) |
1813 @param variant indicator for the PySide variant (not used) |
1814 @type str |
1814 @type str |
1815 @return the PySide2 tool path with extension |
1815 @return the PySide2 tool path with extension |
1816 @rtype str |
1816 @rtype str |
1817 """ |
1817 """ |
|
1818 # TODO: add support for pyside6 |
|
1819 |
1818 if variant == 1: |
1820 if variant == 1: |
1819 # no PySide support anymore |
1821 # no PySide support anymore |
1820 return "" |
1822 return "" |
1821 |
1823 |
1822 if isWindowsPlatform(): |
1824 if isWindowsPlatform(): |
1823 hasPyside = checkPyside(variant) |
1825 hasPyside = checkPyside(variant) |
1824 if not hasPyside: |
1826 if not hasPyside: |
1825 return "" |
1827 return "" |
1826 |
1828 |
1827 venvName = Preferences.getDebugger("Python3VirtualEnv") |
1829 venvName = Preferences.getQt("PySide{0}VenvName".format(variant)) |
|
1830 if not venvName: |
|
1831 venvName = Preferences.getDebugger("Python3VirtualEnv") |
1828 interpreter = e5App().getObject( |
1832 interpreter = e5App().getObject( |
1829 "VirtualEnvManager").getVirtualenvInterpreter(venvName) |
1833 "VirtualEnvManager").getVirtualenvInterpreter(venvName) |
|
1834 if interpreter == "" or not isinpath(interpreter): |
|
1835 interpreter = sys.executable |
1830 prefix = os.path.dirname(interpreter) |
1836 prefix = os.path.dirname(interpreter) |
1831 if toolname in ["pyside2-uic"]: |
1837 if toolname in ["pyside2-uic"]: |
1832 return os.path.join(prefix, "Scripts", toolname + '.exe') |
1838 return os.path.join(prefix, "Scripts", toolname + '.exe') |
1833 else: |
1839 else: |
1834 path = os.path.join(prefix, "Scripts", toolname + '.exe') |
1840 path = os.path.join(prefix, "Scripts", toolname + '.exe') |
1869 @return flags indicating the presence of PySide2 |
1875 @return flags indicating the presence of PySide2 |
1870 @rtype bool |
1876 @rtype bool |
1871 """ |
1877 """ |
1872 if variant == 1: |
1878 if variant == 1: |
1873 # no longer supported PySide |
1879 # no longer supported PySide |
1874 return [False, False] |
1880 return False |
1875 |
1881 |
1876 venvName = Preferences.getDebugger("Python3VirtualEnv") |
1882 venvName = Preferences.getQt("PySide{0}VenvName".format(variant)) |
|
1883 if not venvName: |
|
1884 venvName = Preferences.getDebugger("Python3VirtualEnv") |
1877 interpreter = e5App().getObject( |
1885 interpreter = e5App().getObject( |
1878 "VirtualEnvManager").getVirtualenvInterpreter(venvName) |
1886 "VirtualEnvManager").getVirtualenvInterpreter(venvName) |
1879 if interpreter == "" or not isinpath(interpreter): |
1887 if interpreter == "" or not isinpath(interpreter): |
1880 return False |
1888 interpreter = sys.executable |
1881 else: |
1889 |
1882 checker = os.path.join( |
1890 checker = os.path.join( |
1883 getConfig('ericDir'), "Utilities", "PySideImporter.py") |
1891 getConfig('ericDir'), "Utilities", "PySideImporter.py") |
1884 args = [checker, "-" + variant] |
1892 args = [checker, "-" + variant] |
1885 proc = QProcess() |
1893 proc = QProcess() |
1886 proc.setProcessChannelMode(QProcess.MergedChannels) |
1894 proc.setProcessChannelMode(QProcess.MergedChannels) |
1887 proc.start(interpreter, args) |
1895 proc.start(interpreter, args) |
1888 finished = proc.waitForFinished(30000) |
1896 finished = proc.waitForFinished(30000) |
1889 if finished: |
1897 if finished: |
1890 if proc.exitCode() == 0: |
1898 if proc.exitCode() == 0: |
1891 return True |
1899 return True |
1892 |
1900 |
1893 return False |
1901 return False |
1894 |
1902 |
1895 ############################################################################### |
1903 ############################################################################### |
1896 # Other utility functions below |
1904 # Other utility functions below |