@ -153,7 +153,26 @@ class VirtualPythonEnv:
if hasattr ( conanfile , " conan_data " ) and conanfile . conan_data is not None and data_key in conanfile . conan_data :
if hasattr ( conanfile , " conan_data " ) and conanfile . conan_data is not None and data_key in conanfile . conan_data :
pip_requirements_data = conanfile . conan_data [ data_key ]
pip_requirements_data = conanfile . conan_data [ data_key ]
for system in ( system for system in pip_requirements_data if system in ( " any_os " , actual_os ) ) :
# Build list of applicable system keys: any_os, OS name, and OS_architecture combinations
actual_arch = str ( conanfile . settings . arch ) if hasattr ( conanfile . settings , " arch " ) else None
system_keys = [ " any_os " , actual_os ]
# Add architecture-specific keys (e.g., "Windows_x64", "Linux_x86_64")
if actual_arch :
# Map Conan architecture names to common naming conventions
arch_mapping = {
" x86_64 " : " x64 " ,
" armv8 " : " arm64 " ,
" armv8_32 " : " arm " ,
}
normalized_arch = arch_mapping . get ( actual_arch , actual_arch )
system_keys . append ( f " { actual_os } _ { normalized_arch } " )
# Also try with original arch name
if normalized_arch != actual_arch :
system_keys . append ( f " { actual_os } _ { actual_arch } " )
for system in ( system for system in pip_requirements_data if system in system_keys ) :
for package_name , package_desc in pip_requirements_data [ system ] . items ( ) :
for package_name , package_desc in pip_requirements_data [ system ] . items ( ) :
try :
try :