TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #200 · 11 јан.

Вопросы про переменную PYTHONPATH 🔸 Как она определяет пути поиска модулей при импорте? Пути поиска модулей находятся в списке sys.path. Как формируется этот список? Исходя из документации мы может выделить 3 основных этапа. ▫️Путь к запускаемому скрипту или рабочая директория ▫️ Переменная PYTHONPATH ▫️ Стандартные пути к библиотекам Это значит, что все три этапа выполняются в момент инициализации интерпретатора. Результат заполняет список sys.path. В том числе и пути, указанные в переменной PYTHONPATH. 🔸 Можно ли добавлять новые пути в эту переменную в Python-коде? Можно, но учитывая, что используется она только во время старта интерпретатора, никакого эффекта это иметь не будет. Для изменения путей поиска модулей в коде нужно изменять непосредственно список sys.path. 🔸 Можно ли указать много путей для поиска? Да, с помощью переменной PYTHONPATH можно указать несколько директорий, разделённых символом разделения пути. Для Linux это символ ":", для Windows это ";". Например: export PYTHONPATH=/mnt/libs:~/mylibs #basic#tricks

Резултати

Пронајдени 1 слични објави

Пребарај: #koltin

当前筛选 #koltin清除筛选
Android Broadcast

@android_broadcast · Post #9301 · 06.07.2025 г., 18:53

🏝Проблемы с порядком Gradle Task при использовании KSP 2.0.2 Продолжаю разработку проекта FrameIO - Kotlin Multiplatform клиента для сервиса frame.io и стоклнулся с падением сборки из-за порядка задач (ниже стек с примером проблемы): Some problems were found with the configuration of task ':module:kspDebugKotlinAndroid' (type 'KspAATask'). - Gradle detected a problem with the following location: './module'. Reason: Task ':module:kspDebugKotlinAndroid' uses this output of task ':module:javaPreCompileDebug' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Possible solutions: 1. Declare task ':module:javaPreCompileDebug' as an input of ':module:kspDebugKotlinAndroid'. 2. Declare an explicit dependency on ':module:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#dependsOn. 3. Declare an explicit dependency on ':core:user-session:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#mustRunAfter. For more information, please refer to https://docs.gradle.org/8.14.2/userguide/validation_problems.html#implicit_dependency in the Gradle documentation. Стек для сборки: Gradle 8.14.2, Kotlin 2.2.0, KSP 2.2.0-2.0.2, AGP 8.11.0 Решения проблемы пока нету в KSP (одно из issue), поэтому я задаю порядок Gradle Task сам: // build.gradle.kts модуля где подключен ksp afterEvaluate { android.libraryVariants.forEach { variant -> val variantCapitalized = variant.name.capitalized() tasks.named("ksp${variantCapitalized}KotlinAndroid") { dependsOn( "${variant.name}AssetsCopyForAGP", "process${variantCapitalized}Manifest", "write${variantCapitalized}AarMetadata", "javaPreCompile${variantCapitalized}", "merge${variantCapitalized}Assets", "merge${variantCapitalized}JniLibFolders", "merge${variantCapitalized}NativeLibs", "copy${variantCapitalized}JniLibsProjectOnly", "generate${variantCapitalized}EmptyResourceFiles", "copy${variantCapitalized}JniLibsProjectAndLocalJars", "prepare${variantCapitalized}ArtProfile", "write${variantCapitalized}LintModelMetadata", "extractProguardFiles", "prepareLintJarForPublish", ) } } } #android#kmp#koltin#ksp