diff --git a/src/plugins/python/pipsupport.cpp b/src/plugins/python/pipsupport.cpp index 848184b462f..a282702d9bd 100644 --- a/src/plugins/python/pipsupport.cpp +++ b/src/plugins/python/pipsupport.cpp @@ -143,20 +143,13 @@ Pip *Pip::instance(const FilePath &python) return it.value(); } -QFuture Pip::info(const PipPackage &package) -{ - return Utils::runAsync(&Pip::infoImpl, this, package); -} - -PipPackageInfo Pip::infoImpl(const PipPackage &package) +static PipPackageInfo infoImpl(const PipPackage &package, const FilePath &python) { PipPackageInfo result; QtcProcess pip; - pip.setCommand(CommandLine(m_python, {"-m", "pip", "show", "-f", package.packageName})); - m_lock.lock(); + pip.setCommand(CommandLine(python, {"-m", "pip", "show", "-f", package.packageName})); pip.runBlocking(); - m_lock.unlock(); QString fieldName; QStringList data; const QString pipOutput = pip.allOutput(); @@ -180,6 +173,11 @@ PipPackageInfo Pip::infoImpl(const PipPackage &package) return result; } +QFuture Pip::info(const PipPackage &package) +{ + return Utils::runAsync(infoImpl, package, m_python); +} + Pip::Pip(const Utils::FilePath &python) : QObject(PythonPlugin::instance()) , m_python(python) diff --git a/src/plugins/python/pipsupport.h b/src/plugins/python/pipsupport.h index e5f53768ce9..4ef6fcca730 100644 --- a/src/plugins/python/pipsupport.h +++ b/src/plugins/python/pipsupport.h @@ -55,9 +55,6 @@ public: private: Pip(const Utils::FilePath &python); - PipPackageInfo infoImpl(const PipPackage &package); - - QMutex m_lock; Utils::FilePath m_python; };