diff --git a/CuraVersion.py.jinja b/CuraVersion.py.jinja index 515293b8af..690a1386d3 100644 --- a/CuraVersion.py.jinja +++ b/CuraVersion.py.jinja @@ -1,6 +1,8 @@ # Copyright (c) 2023 UltiMaker # Cura is released under the terms of the LGPLv3 or higher. +from pkg_resources import working_set + CuraAppName = "{{ cura_app_name }}" CuraAppDisplayName = "{{ cura_app_display_name }}" CuraVersion = "{{ cura_version }}" @@ -14,4 +16,4 @@ CuraDigitalFactoryURL = "{{ cura_digital_factory_url }}" CuraLatestURL = "{{ cura_latest_url }}" ConanInstalls = {{ conan_installs }} -PythonInstalls = {{ python_installs }} +PythonInstalls = {package.key: {'version': package.version} for package in working_set} \ No newline at end of file diff --git a/conanfile.py b/conanfile.py index fc56d5033c..f99fa772dd 100644 --- a/conanfile.py +++ b/conanfile.py @@ -148,25 +148,6 @@ class CuraConan(ConanFile): } return conan_installs - def _python_installs(self): - python_installs = {} - - # list of python installs - outer = '"' if self.settings.os == "Windows" else "'" - inner = "'" if self.settings.os == "Windows" else '"' - python_ins_cmd = f"python -c {outer}import pkg_resources; print({inner};{inner}.join([(s.key+{inner},{inner}+ s.version) for s in pkg_resources.working_set])){outer}" - from six import StringIO - buffer = StringIO() - self.run(python_ins_cmd, run_environment= True, env = "conanrun", output=buffer) - - packages = str(buffer.getvalue()).split("-----------------\n") - packages = packages[1].strip('\r\n').split(";") - for package in packages: - name, version = package.split(",") - python_installs[name] = {"version": version} - - return python_installs - def _generate_cura_version(self, location): with open(os.path.join(self.recipe_folder, "CuraVersion.py.jinja"), "r") as f: cura_version_py = Template(f.read()) @@ -193,7 +174,6 @@ class CuraConan(ConanFile): cura_digital_factory_url = self.conan_data["urls"][self._urls]["digital_factory_url"], cura_latest_url=self.conan_data["urls"][self._urls]["cura_latest_url"], conan_installs=self._conan_installs(), - python_installs=self._python_installs(), )) def export_sources(self):