mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 18:39:07 +08:00
User proper environment to get dependencies list
This commit is contained in:
parent
806fedef61
commit
656573e905
21
conanfile.py
21
conanfile.py
@ -88,9 +88,13 @@ class CuraConan(ConanFile):
|
|||||||
return "staging"
|
return "staging"
|
||||||
return "default"
|
return "default"
|
||||||
|
|
||||||
|
@property
|
||||||
|
def _root_dir(self):
|
||||||
|
return Path(self.deploy_folder if hasattr(self, "deploy_folder") else self.source_folder)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def _base_dir(self):
|
def _base_dir(self):
|
||||||
return Path(self.source_folder if self.source_folder is not None else self.deploy_folder, "venv")
|
return self._root_dir.joinpath("venv")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def _share_dir(self):
|
def _share_dir(self):
|
||||||
@ -140,23 +144,14 @@ class CuraConan(ConanFile):
|
|||||||
self.output.info("Collecting python installs")
|
self.output.info("Collecting python installs")
|
||||||
python_installs = {}
|
python_installs = {}
|
||||||
|
|
||||||
# list of python installs
|
|
||||||
# run_env = VirtualRunEnv(self)
|
|
||||||
# env = run_env.environment()
|
|
||||||
#env.prepend_path("PYTHONPATH", str(self._site_packages.as_posix()))
|
|
||||||
# venv_vars = env.vars(self, scope = "run")
|
|
||||||
|
|
||||||
outer = '"' if self.settings.os == "Windows" else "'"
|
outer = '"' if self.settings.os == "Windows" else "'"
|
||||||
inner = "'" if self.settings.os == "Windows" else '"'
|
inner = "'" if self.settings.os == "Windows" else '"'
|
||||||
buffer = StringIO()
|
buffer = StringIO()
|
||||||
# with venv_vars.apply():
|
env_path = str(self._root_dir.joinpath("conanrun"))
|
||||||
self.run(f"""python -c {outer}import importlib.metadata; print({inner};{inner}.join([(package.metadata[{inner}Name{inner}]+{inner},{inner}+ package.metadata[{inner}Version{inner}]) for package in importlib.metadata.distributions()])){outer}""",
|
self.run(f"""python -c {outer}import importlib.metadata; print({inner};{inner}.join([(package.metadata[{inner}Name{inner}]+{inner},{inner}+ package.metadata[{inner}Version{inner}]) for package in importlib.metadata.distributions()])){outer}""",
|
||||||
env = ["conanrun", "virtual_python_env"],
|
env = env_path,
|
||||||
stdout = buffer)
|
stdout = buffer)
|
||||||
|
|
||||||
print(f"############################################################ {buffer.getvalue()}")
|
|
||||||
# for name, value in venv_vars.items():
|
|
||||||
# print(f"{name}={value}")
|
|
||||||
packages = str(buffer.getvalue()).strip('\r\n').split(";")
|
packages = str(buffer.getvalue()).strip('\r\n').split(";")
|
||||||
for package in packages:
|
for package in packages:
|
||||||
name, version = package.split(",")
|
name, version = package.split(",")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user