Improved python executable handling

This commit is contained in:
2021-03-17 08:55:23 +01:00
parent a1cd939aa1
commit a2313ac952
7 changed files with 21 additions and 9 deletions

View File

@@ -30,6 +30,7 @@ class ProjectSettings(ConfigurationModelABC):
self._dependencies: Optional[list[str]] = None
self._python_version: Optional[str] = None
self._python_path: Optional[str] = None
self._python_executable: Optional[str] = None
self._classifiers: Optional[list[str]] = None
@property
@@ -88,6 +89,10 @@ class ProjectSettings(ConfigurationModelABC):
def python_path(self) -> str:
return self._python_path
@property
def python_executable(self) -> str:
return self._python_executable
@property
def classifiers(self) -> list[str]:
return self._classifiers
@@ -107,9 +112,11 @@ class ProjectSettings(ConfigurationModelABC):
self._license_description = settings[ProjectSettingsNameEnum.license_description.value]
self._dependencies = settings[ProjectSettingsNameEnum.dependencies.value]
self._python_version = settings[ProjectSettingsNameEnum.python_version.value]
self._python_path = settings[ProjectSettingsNameEnum.python_path.value]
if ProjectSettingsNameEnum.python_path.value in settings:
path = settings[ProjectSettingsNameEnum.python_path.value]
if ProjectSettingsNameEnum.python_path.value in settings and \
sys.platform in settings[ProjectSettingsNameEnum.python_path.value]:
path = settings[ProjectSettingsNameEnum.python_path.value][sys.platform]
if not os.path.isfile(path) and not os.path.islink(path):
if path != '' and path is not None:
Error.warn(f'{ProjectSettingsNameEnum.python_path.value} not found')
@@ -118,7 +125,7 @@ class ProjectSettings(ConfigurationModelABC):
else:
path = sys.executable
self._python_path = path
self._python_executable = path
self._classifiers = settings[ProjectSettingsNameEnum.classifiers.value]
except Exception as e: