GithubHelp home page GithubHelp logo

xvik / gradle-use-python-plugin Goto Github PK

View Code? Open in Web Editor NEW
68.0 68.0 18.0 1.89 MB

Use python modules in gradle build

Home Page: https://xvik.github.io/gradle-use-python-plugin/

License: MIT License

Groovy 100.00%
docker gradle gradle-plugin python virtualenv

gradle-use-python-plugin's People

Contributors

dependabot[bot] avatar jrhizor avatar pedrowitzel avatar stijndehaes avatar xvik avatar yellowsquid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gradle-use-python-plugin's Issues

Doesn't support extra format for pip package name

python {
    pip 'requests[socks,security]:2.18.4'
}
10:34:12 :pipInstall FAILED
10:34:12 
10:34:12 FAILURE: Build failed with an exception.
10:34:12 
10:34:12 * What went wrong:
10:34:12 Could not evaluate onlyIf predicate for task ':pipInstall'.
10:34:12 > Incorrect pip module declaration (must be 'module:version'): pip
10:34:12 
10:34:12 * Try:
10:34:12 Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
10:34:12 
10:34:12 * Get more help at https://help.gradle.org

It works well when:

python {
    pip 'requests:2.18.4'
}

Install artifact from another project

It would be nice if it were possible to specify a file as a module to install so that we can share modules between projects in a multi module project. I’m not a seasoned Python developer therefore they may be a better way to achieve this, ideally without sharing a virtual environment in the root project.

For context, we have a pythonBuild task that creates a source distribution that we’d like to pip install in a downstream project. Another option is add the source to the PYTHONPATH for the downstream project.

Support pip install from git+https, et al.

I have some packages that have not released a version on PyPI, but I want to compile against a specific git commitish. Unfortunately, the pip syntax only allows name:version and not all the git+... combinations.

You should be able to have a requirements.txt that looks like:

foo==1.1.2
git+git://github.com/kruton/awesome-python-repo@f00ba5#egg=bar
baz==9.4.2

Gradle does not recognize Pyenv environment

I am using pyenv to manage Python environments on my Mac.

alexcombessie@Alex-Air-001 giskard % pyenv version 
3.7.13 (set by /Users/alexcombessie/Github/giskard/.python-version)

alexcombessie@Alex-Air-001 giskard % python --version
Python 3.7.13

alexcombessie@Alex-Air-001 giskard % which python               
/Users/alexcombessie/.pyenv/rosetta/shims/python

Unfortunately, this is not recognized in my gradle build. Gradle never finds which python from pyenv and keeps using the default system package of python, which are of the wrong version.

I tried adding a pythonBinary argument, with different values: "python", "python3.7", or even "/Users/alexcombessie/.pyenv/rosetta/shims/python3.7' but it always failed to build, as the argument was not recognized. The last trial gave me this error message:

Python not found: .venv/bin//Users/alexcombessie/.pyenv/rosetta/shims/python3.7. This must be a bug of virtualenv support, please report it (https://github.com/xvik/gradle-use-python-plugin/issues). You can disable virtualenv usage with ‘python.scope = USER’.

PS: I do need to set scope = 'VIRTUALENV' as I need the virtualenv for another part of the app.
FYI @andreybavt

Python version problem when creating virtualenv

If the host machine has both version 2 and 3 of python, virtual environment is created based on default python version, regardless of pythonBinary config of extension. This is the default behaviour of 'pythonBinary -m virtualenv' command.
Adding --python=pythonBinary to virtualenv creation command may be a simple fix for this problem.

Kotlin rewrite

Hi,

I'm looking into some (maintained) tools to manage python from Gradle in order to easier project management for scientists and researchers and this project looks like my best bet.

However, I'd like to offer a DSL interface in order to simplify at maximum user interaction and Kotlin is the best in this regards. I can provide a PR if you are interested

Compatibility issue with pip 10.0.0

Looks like the 'checkPython' fails with the following error when pip 10.0.0 is installed
AttributeError: 'module' object has no attribute 'parseopts'
....
causing the task not to be able to use pip
Execution failed for task ':checkPython'. org.gradle.api.GradleException: Pip is not installed on virtualenv .gradle/python. Please install it (https://pip.pypa.io/en/stable/installing/).

I've tested the same build.gradle with pip 9.0.3 and it works perfectly.

Happy to provide further information if needed

Cannot figure out how to run a particular (older) version of Python

The issue, I'm sure, is my own lack of understanding, or maybe a lack of documentation.

But I cannot figure out how to:

  1. Check if a particular version of Python is available.
  2. Install that version if it is not available.
  3. Use that newly installed version.

I am trying to specifically install a significantly older version of Python 3 than my provider (GCP) puts on its build machines by default, because I want to make sure that the package I am building and uploading is sufficiently backward compatible.

Can someone explain how I can do this, with an example? I have the following, but this is only setting the minimum value, and checkPython does not help me to install a new version.

import ru.vyarus.gradle.plugin.python.task.PythonTask
import ru.vyarus.gradle.plugin.python.PythonExtension.Scope.VIRTUALENV_OR_USER

plugins {
    id("ru.vyarus.use-python") version "3.0.0"
}

var pythonVersion = "3.8.17"

python {
    minPythonVersion = pythonVersion
    minPipVersion = '23.2.1'
    pip("protobuf:4.24.0")
    pip("pdm:2.8.2")
}

Also, I am doing this because I need to build a python package and then publish it to our private (Python) repository. If there is already a pre-built task to do this, I can use that task, too, but for now I already have everything working, except for setting the Python path.

Could not find method register() for arguments

Not able to install the plugin after adding the plugin dependency.

When I am loading the gradle changes, gradle is failing with an error

`

An exception occurred applying plugin request [id: 'ru.vyarus.use-python', version: '2.2.0']

Failed to apply plugin [id 'ru.vyarus.use-python']
Could not find method register() for arguments [checkPython, class ru.vyarus.gradle.plugin.python.task.CheckPythonTask, ru.vyarus.gradle.plugin.python.PythonPlugin$_apply_closure2@2039cab8] on task set of type org.gradle.api.internal.tasks.DefaultTaskContainer.

`

Gradle Debug Logs

12:17:00.082 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository] Found artifact 'gradle-use-python-plugin.jar (ru.vyarus:gradle-use-python-plugin:2.3.0)' in resolver cache: .gradle/caches/modules-2/files-2.1/ru.vyarus/gradle-use-python-plugin/2.3.0/fc5c63e2cf1652fb99e00cd0159b41f6dc6c998f/gradle-use-python-plugin-2.3.0.jar 12:17:00.082 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository] Found artifact 'snakeyaml.jar (org.yaml:snakeyaml:1.17)' in resolver cache: .gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.17/7a27ea250c5130b2922b86dea63cbb1cc10a660c/snakeyaml-1.17.jar 12:17:00.083 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Resolve gradle-properties-plugin.jar (net.saliman:gradle-properties-plugin:1.4.6)' completed 12:17:00.083 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Resolve gradle-use-python-plugin.jar (ru.vyarus:gradle-use-python-plugin:2.3.0)' 12:17:00.083 [DEBUG] [org.gradle.internal.work.DefaultWorkerLeaseService] Worker lease root.1.2.3 completed (2 worker(s) in use) 12:17:00.083 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Resolve snakeyaml.jar (org.yaml:snakeyaml:1.17)' 12:17:00.084 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 10: released lock on root.1.2.3 12:17:00.085 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Resolve files of :classpath' 12:17:00.086 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Resolve files of :classpath' completed 12:17:00.086 [DEBUG] [org.gradle.internal.component.model.ComponentAttributeMatcher] Selected match net.saliman:gradle-properties-plugin:1.4.6 configuration default from candidates [net.saliman:gradle-properties-plugin:1.4.6 configuration default] for {} 12:17:00.086 [DEBUG] [org.gradle.internal.component.model.ComponentAttributeMatcher] Selected match org.yaml:snakeyaml:1.17 configuration default from candidates [org.yaml:snakeyaml:1.17 configuration default] for {} 12:17:00.086 [DEBUG] [org.gradle.internal.component.model.ComponentAttributeMatcher] Selected match ru.vyarus.use-python:ru.vyarus.use-python.gradle.plugin:2.3.0 configuration default from candidates [ru.vyarus.use-python:ru.vyarus.use-python.gradle.plugin:2.3.0 configuration default] for {} 12:17:00.087 [DEBUG] [org.gradle.internal.component.model.ComponentAttributeMatcher] Selected match ru.vyarus:gradle-use-python-plugin:2.3.0 configuration runtime from candidates [ru.vyarus:gradle-use-python-plugin:2.3.0 configuration runtime] for {} 12:17:00.088 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Resolve files of :classpath' started 12:17:00.089 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Resolve files of :classpath' 12:17:00.089 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Resolve files of :classpath' completed 12:17:00.093 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Apply plugin ru.vyarus.use-python to root project 'sample-project'' started 12:17:00.094 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Apply plugin ru.vyarus.use-python to root project 'sample-project'' 12:17:00.094 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Apply plugin ru.vyarus.use-python to root project 'sample-project'' completed 12:17:00.095 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Apply script build.gradle to root project 'sample-project'' 12:17:00.095 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Apply script build.gradle to root project 'sample-project'' completed 12:17:00.095 [DEBUG] [org.gradle.configuration.project.BuildScriptProcessor] Timing: Running the build script took 0.065 secs 12:17:00.095 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Configure project :' 12:17:00.095 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Configure project :' completed 12:17:00.095 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Configure build' 12:17:00.096 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Configure build' completed 12:17:00.098 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 12:17:00.099 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception. 12:17:00.099 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 12:17:00.099 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Where: 12:17:00.099 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Build file 'Documents/sample-project/build.gradle' line: 30 12:17:00.099 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 12:17:00.099 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong: 12:17:00.100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] An exception occurred applying plugin request [id: 'ru.vyarus.use-python', version: '2.3.0'] 12:17:00.100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Failed to apply plugin [id 'ru.vyarus.use-python'] 12:17:00.100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Could not find method register() for arguments [checkPython, class ru.vyarus.gradle.plugin.python.task.CheckPythonTask, ru.vyarus.gradle.plugin.python.PythonPlugin$_apply_closure2@1554760d] on task set of type org.gradle.api.internal.tasks.DefaultTaskContainer. 12:17:00.100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 12:17:00.100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try: 12:17:00.100 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Run with --stacktrace option to get the stack trace. Run with --scan to get full insights. 12:17:00.101 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 12:17:00.101 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Get more help at https://help.gradle.org 12:17:00.101 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] 12:17:00.101 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] BUILD FAILED in 0s 12:17:00.101 [DEBUG] [org.gradle.internal.work.DefaultWorkerLeaseService] Worker lease root.1 completed (0 worker(s) in use) 12:17:00.102 [DEBUG] [org.gradle.internal.resources.AbstractTrackedResourceLock] Daemon worker Thread 10: released lock on root.1 12:17:00.102 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Run build' 12:17:00.102 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Run build' completed 12:17:00.109 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.CachedStoreFactory] Resolution result cache closed. Cache reads: 0, disk reads: 0 (avg: 0.0 secs, total: 0.0 secs) 12:17:00.109 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.CachedStoreFactory] Resolution result cache closed. Cache reads: 0, disk reads: 0 (avg: 0.0 secs, total: 0.0 secs) 12:17:00.109 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.ResolutionResultsStoreFactory] Deleted 2 resolution results binary files in 0.001 secs 12:17:00.146 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] Releasing file lock for Artifact transforms cache (.gradle/caches/transforms-1) 12:17:00.146 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on Artifact transforms cache (.gradle/caches/transforms-1). 12:17:00.147 [DEBUG] [org.gradle.deployment.internal.DefaultDeploymentRegistry] Stopping 0 deployment handles 12:17:00.147 [DEBUG] [org.gradle.deployment.internal.DefaultDeploymentRegistry] Stopped deployment handles 12:17:00.149 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] Releasing file lock for file hash cache (Documents//sample-project/.gradle/4.8.1/fileHashes) 12:17:00.151 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on file hash cache (Documents//sample-project/.gradle/4.8.1/fileHashes). 12:17:00.151 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Cache Generated Gradle JARs cache (.gradle/caches/4.8.1/generated-gradle-jars) was closed 0 times. 12:17:00.152 [DEBUG] [org.gradle.cache.internal.DefaultPersistentDirectoryCache] VCS Checkout Cache (Documents//sample-project/.gradle/vcsWorkingDirs) has last been cleaned up 12 hours ago 12:17:00.152 [DEBUG] [org.gradle.cache.internal.DefaultCacheAccess] Cache VCS Checkout Cache (Documents//sample-project/.gradle/vcsWorkingDirs) was closed 0 times. 12:17:00.153 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] Releasing file lock for artifact cache (.gradle/caches/modules-2) 12:17:00.154 [DEBUG] [org.gradle.cache.internal.btree.BTreePersistentIndexedCache] Closing cache module-metadata.bin (.gradle/caches/modules-2/metadata-2.58/module-metadata.bin) 12:17:00.155 [DEBUG] [org.gradle.cache.internal.btree.BTreePersistentIndexedCache] Closing cache module-artifacts.bin (.gradle/caches/modules-2/metadata-2.58/module-artifacts.bin) 12:17:00.155 [DEBUG] [org.gradle.cache.internal.btree.BTreePersistentIndexedCache] Closing cache module-artifact.bin (.gradle/caches/modules-2/metadata-2.58/module-artifact.bin) 12:17:00.156 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on artifact cache (.gradle/caches/modules-2). 12:17:00.161 [DEBUG] [org.gradle.launcher.daemon.server.exec.ExecuteBuild] The daemon has finished executing the build. 12:17:00.293 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientInputForwarder] Dispatching close input message: org.gradle.launcher.daemon.protocol.CloseInput@16a1de9a 12:17:00.293 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 14: dispatching class org.gradle.launcher.daemon.protocol.CloseInput 12:17:00.295 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClient] Received result Failure[value=org.gradle.initialization.ReportedException: org.gradle.internal.exceptions.LocationAwareException: Build file 'Documents//sample-project/build.gradle' line: 30 An exception occurred applying plugin request [id: 'ru.vyarus.use-python', version: '2.3.0']] from daemon DaemonInfo{pid=63457, address=[4b92e6ea-7e9e-4866-ad56-e7fff70f4911 port:58382, addresses:[/0:0:0:0:0:0:0:1, /127.0.0.1]], state=Idle, lastBusy=1622702783683, context=DefaultDaemonContext[uid=d442c57a-8b93-47fd-b5ce-f8a411a7350b,javaHome=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home,daemonRegistryDir=.gradle/daemon,pid=63457,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=US-ASCII,-Duser.country=IN,-Duser.language=en,-Duser.variant]} (build should be done). 12:17:00.295 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 1: dispatching class org.gradle.launcher.daemon.protocol.Finished 12:17:00.297 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 1: connection stop

snippet from build.gradle

plugins{
    id ("ru.vyarus.use-python") version "2.3.0"
}

python {
    pip("grafanalib==0.5.13")
    scope = VIRTUALENV
}

Gradle Version: 4.8.1

Windows virtualenv Install Path Error

When creating the vitual environment, the directory is created relative to the project directory. When running checkPython, the python directory is compared to the root directory.

This only appears to be a problem with mutliproject builds.

In this case, the python environment is built at doc/.gradle/python. The checkPython task then fails unless there is a python script at .gradle/python.

I think the problem is related to this line. It passes the root directory to the function instead of the project directory.

Environment to reproduce:

settings.gradle:
include 'doc'

doc/build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'ru.vyarus:gradle-use-python-plugin:1.1.0'
    }
}
apply plugin: 'ru.vyarus.use-python'
python {
    envPath = ".gradle/python"
    pip 'somemodule:1.0.0'
}

Gradle output:

> Task :doc:checkPython FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':doc:checkPython'.
> Python not found: .gradle\python\Scripts\python.exe. This must be a bug of virtualenv support, please report it (https://github.com/xvik/gradle-use-python-plugin/issues). You can disable virtualenv usage with 'python.scope = USER'.

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':doc:checkPython'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
        at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$ExecuteTaskAction.execute(DefaultTaskExecutionGraph.java:262)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$ExecuteTaskAction.execute(DefaultTaskExecutionGraph.java:246)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:136)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.execute(DefaultTaskPlanExecutor.java:201)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.executeWithTask(DefaultTaskPlanExecutor.java:192)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:74)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:131)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:46)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
        at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:343)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:212)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:140)
        at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:115)
        at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:77)
        at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:74)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
        at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:38)
        at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:96)
        at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:74)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.run(RunAsBuildOperationBuildActionRunner.java:47)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:43)
        at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:50)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:46)
        at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:65)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:46)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:32)
        at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
        at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53)
        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:62)
        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:34)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
        at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
        at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:59)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:46)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: org.gradle.api.GradleException: Python not found: .gradle\python\Scripts\python.exe. This must be a bug of virtualenv support, please report it (https://github.com/xvik/gradle-use-python-plugin/issues). You can disable virtualenv usage with 'python.scope = USER'.
        at ru.vyarus.gradle.plugin.python.task.CheckPythonTask.checkPython(CheckPythonTask.groovy:72)
        at ru.vyarus.gradle.plugin.python.task.CheckPythonTask.switchEnvironment(CheckPythonTask.groovy:137)
        at ru.vyarus.gradle.plugin.python.task.CheckPythonTask.run(CheckPythonTask.groovy:58)
        at jdk.internal.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:46)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:794)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:761)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
        ... 110 more
Caused by: org.gradle.process.internal.ExecException: Cannot run program ".gradle\python\Scripts\python.exe": error=2, No such file or directory
        at ru.vyarus.gradle.plugin.python.util.CliUtils.wincmdArgs(CliUtils.groovy:180)
        at ru.vyarus.gradle.plugin.python.util.CliUtils$wincmdArgs.call(Unknown Source)
        at ru.vyarus.gradle.plugin.python.cmd.Python.processExecution(Python.groovy:220)
        at ru.vyarus.gradle.plugin.python.cmd.Python.access$1(Python.groovy)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_readOutput_closure4.doCall(Python.groovy:139)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_readOutput_closure4.call(Python.groovy)
        at ru.vyarus.gradle.plugin.python.cmd.Python.readOutput(Python.groovy:137)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_memoizedMethodPriv_resolveInfo_closure9.doCall(Python.groovy:316)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_memoizedMethodPriv_resolveInfo_closure9.call(Python.groovy)
        at ru.vyarus.gradle.plugin.python.cmd.Python.withHiddenLog(Python.groovy:198)
        at ru.vyarus.gradle.plugin.python.cmd.Python.memoizedMethodPriv$resolveInfo(Python.groovy:314)
        at jdk.internal.reflect.GeneratedMethodAccessor271.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_closure3.doCall(Python.groovy)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_closure3.doCall(Python.groovy)
        at jdk.internal.reflect.GeneratedMethodAccessor270.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at ru.vyarus.gradle.plugin.python.cmd.Python.resolveInfo(Python.groovy)
        at ru.vyarus.gradle.plugin.python.cmd.Python.memoizedMethodPriv$getVersion(Python.groovy:186)
        at jdk.internal.reflect.GeneratedMethodAccessor269.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_closure2.doCall(Python.groovy)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_closure2.doCall(Python.groovy)
        at jdk.internal.reflect.GeneratedMethodAccessor268.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at ru.vyarus.gradle.plugin.python.cmd.Python.getVersion(Python.groovy)
        at ru.vyarus.gradle.plugin.python.task.CheckPythonTask.checkPython(CheckPythonTask.groovy:66)
        ... 128 more


* Get more help at https://help.gradle.org

BUILD FAILED in 1s
1 actionable task: 1 executed

Install virtualenv is failing on updated Ubuntu 22.04

Distributor ID:	Ubuntu
Description:	Ubuntu 22.04 LTS
Release:	22.04
Codename:	jammy

> Task :checkPython FAILED
Using python 3.10.4 from /usr (python3)
Using pip 22.1.2 from /home/michael/.local/lib/python3.10/site-packages/pip (python 3.10)
Using virtualenv /home/michael/.local/lib/python3.10/site-packages/virtualenv.py:24: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  import distutils.spawn
/home/michael/.local/lib/python3.10/site-packages/virtualenv.py:25: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
  import distutils.sysconfig
16.7.9 (in '.gradle/python')
[python] python3 -m virtualenv .gradle/python
         /home/michael/.local/lib/python3.10/site-packages/virtualenv.py:24: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
           import distutils.spawn
         /home/michael/.local/lib/python3.10/site-packages/virtualenv.py:25: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
           import distutils.sysconfig
         Traceback (most recent call last):
           File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
             return _run_code(code, main_globals, None,
           File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
             exec(code, run_globals)
           File "/home/michael/.local/lib/python3.10/site-packages/virtualenv.py", line 2634, in <module>
             main()
           File "/home/michael/.local/lib/python3.10/site-packages/virtualenv.py", line 860, in main
             create_environment(
           File "/home/michael/.local/lib/python3.10/site-packages/virtualenv.py", line 1162, in create_environment
             install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages=site_packages, clear=clear, symlink=symlink)
           File "/home/michael/.local/lib/python3.10/site-packages/virtualenv.py", line 1721, in install_python
             fix_local_scheme(home_dir, symlink)
           File "/home/michael/.local/lib/python3.10/site-packages/virtualenv.py", line 1807, in fix_local_scheme
             if sysconfig._get_default_scheme() == "posix_local":
         AttributeError: module 'sysconfig' has no attribute '_get_default_scheme'. Did you mean: 'get_default_scheme'?
         Using base prefix '/usr'
         New python executable in /home/michael/git/Documentation/.gradle/python/bin/python3
         Also creating executable in /home/michael/git/Documentation/.gradle/python/bin/python

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':checkPython'.
> Python call failed: python3 -m virtualenv .gradle/python

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 2s
1 actionable task: 1 executed

Cannot upgrade pip If pip version is lower than minPythonVersion

if pip version is lower than minPythonVersion, I cannot upgrade it to latest because checkPython runs first.

task upgradePip1(type: PipInstallTask) {
    pip 'pip:10.0'
    pythonBinary = 'python'
}

task upgradePip2(type: PythonTask) {
    module = 'pip install -U pip'
    pythonBinary = 'python'
}

Exec task is the only way and run before :checkPython or :pipInstall.

task upgradePip3(type:Exec) {
    commandLine 'python', '-m', 'pip', 'install', '-U', 'pip'
}

The walk around is not nice.

Could you plz add flag that let python gradle task try to upgrade pip if its version is lower than minPythonVersion?

Transient check python failure.

Hi!

Thanks for the great plugin. Currently using it in an open-source project and loving it.

We are running into a transient error with check python task.

This is the stacktrace:

 * Exception is:
2021-05-11T13:17:25.3774839Z 2021-05-11T13:17:23.588+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':airbyte-integrations:bases:airbyte-protocol:checkPython'.
2021-05-11T13:17:25.3779184Z 2021-05-11T13:17:23.588+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:200)
2021-05-11T13:17:25.3782990Z 2021-05-11T13:17:23.588+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
2021-05-11T13:17:25.3787163Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:198)
2021-05-11T13:17:25.3792255Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:179)
2021-05-11T13:17:25.3797174Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
2021-05-11T13:17:25.3802275Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
2021-05-11T13:17:25.3807682Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
2021-05-11T13:17:25.3813055Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
2021-05-11T13:17:25.3817862Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
2021-05-11T13:17:25.3822544Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
2021-05-11T13:17:25.3827239Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
2021-05-11T13:17:25.3831491Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
2021-05-11T13:17:25.3835707Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
2021-05-11T13:17:25.3840249Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
2021-05-11T13:17:25.3845088Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
2021-05-11T13:17:25.3849629Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
2021-05-11T13:17:25.3853804Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
2021-05-11T13:17:25.3858118Z 2021-05-11T13:17:23.589+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
2021-05-11T13:17:25.3862618Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
2021-05-11T13:17:25.3867169Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
2021-05-11T13:17:25.3871704Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
2021-05-11T13:17:25.3876967Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
2021-05-11T13:17:25.3882105Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
2021-05-11T13:17:25.3886731Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
2021-05-11T13:17:25.3890909Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
2021-05-11T13:17:25.3895128Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
2021-05-11T13:17:25.3899694Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
2021-05-11T13:17:25.3904554Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
2021-05-11T13:17:25.3909476Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
2021-05-11T13:17:25.3913782Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
2021-05-11T13:17:25.3917419Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
2021-05-11T13:17:25.3921169Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
2021-05-11T13:17:25.3924924Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
2021-05-11T13:17:25.3928598Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
2021-05-11T13:17:25.3932204Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
2021-05-11T13:17:25.3935851Z 2021-05-11T13:17:23.590+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
2021-05-11T13:17:25.3939720Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Caused by: ru.vyarus.gradle.plugin.python.util.PythonExecutionFailed: Python call failed: python3 -m pip install virtualenv==20.4.2 --user
2021-05-11T13:17:25.3943714Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2021-05-11T13:17:25.3947899Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2021-05-11T13:17:25.3952509Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2021-05-11T13:17:25.3956655Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at ru.vyarus.gradle.plugin.python.cmd.Python.processExecution(Python.groovy:403)
2021-05-11T13:17:25.3960044Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at ru.vyarus.gradle.plugin.python.cmd.Python.access$2(Python.groovy)
2021-05-11T13:17:25.3963195Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at ru.vyarus.gradle.plugin.python.cmd.Python$_exec_closure7.doCall(Python.groovy:249)
2021-05-11T13:17:25.3966282Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at ru.vyarus.gradle.plugin.python.cmd.Python$_exec_closure7.call(Python.groovy)
2021-05-11T13:17:25.3969346Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at ru.vyarus.gradle.plugin.python.cmd.Python.exec(Python.groovy:249)
2021-05-11T13:17:25.3972517Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at ru.vyarus.gradle.plugin.python.cmd.Python.callModule(Python.groovy:260)
2021-05-11T13:17:25.3975624Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at ru.vyarus.gradle.plugin.python.cmd.Pip.exec(Pip.groovy:150)
2021-05-11T13:17:25.3978600Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at ru.vyarus.gradle.plugin.python.cmd.Pip.install(Pip.groovy:112)
2021-05-11T13:17:25.3982088Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at ru.vyarus.gradle.plugin.python.task.CheckPythonTask.checkEnv(CheckPythonTask.groovy:126)
2021-05-11T13:17:25.3985909Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at ru.vyarus.gradle.plugin.python.task.CheckPythonTask.run(CheckPythonTask.groovy:55)
2021-05-11T13:17:25.3989440Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2021-05-11T13:17:25.3993179Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2021-05-11T13:17:25.3997145Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2021-05-11T13:17:25.4000695Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
2021-05-11T13:17:25.4004493Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58)
2021-05-11T13:17:25.4008917Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
2021-05-11T13:17:25.4013382Z 2021-05-11T13:17:23.591+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
2021-05-11T13:17:25.4017824Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:555)
2021-05-11T13:17:25.4022133Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
2021-05-11T13:17:25.4026391Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
2021-05-11T13:17:25.4030594Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
2021-05-11T13:17:25.4034761Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
2021-05-11T13:17:25.4039076Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
2021-05-11T13:17:25.4043587Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
2021-05-11T13:17:25.4047995Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
2021-05-11T13:17:25.4052441Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
2021-05-11T13:17:25.4057631Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
2021-05-11T13:17:25.4062697Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
2021-05-11T13:17:25.4067662Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:540)
2021-05-11T13:17:25.4073013Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:523)
2021-05-11T13:17:25.4078057Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:108)
2021-05-11T13:17:25.4083236Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:271)
2021-05-11T13:17:25.4088295Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:260)
2021-05-11T13:17:25.4092386Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:34)
2021-05-11T13:17:25.4095942Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:34)
2021-05-11T13:17:25.4099475Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
2021-05-11T13:17:25.4103358Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:67)
2021-05-11T13:17:25.4107445Z 2021-05-11T13:17:23.592+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:36)
2021-05-11T13:17:25.4111689Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
2021-05-11T13:17:25.4116184Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
2021-05-11T13:17:25.4120448Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
2021-05-11T13:17:25.4124613Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
2021-05-11T13:17:25.4128507Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
2021-05-11T13:17:25.4132279Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
2021-05-11T13:17:25.4136303Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
2021-05-11T13:17:25.4140378Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
2021-05-11T13:17:25.4144939Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:42)
2021-05-11T13:17:25.4149452Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:159)
2021-05-11T13:17:25.4153144Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:72)
2021-05-11T13:17:25.4156575Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:43)
2021-05-11T13:17:25.4160487Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
2021-05-11T13:17:25.4164893Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
2021-05-11T13:17:25.4169071Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
2021-05-11T13:17:25.4182267Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
2021-05-11T13:17:25.4186568Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
2021-05-11T13:17:25.4190669Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
2021-05-11T13:17:25.4194712Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
2021-05-11T13:17:25.4198640Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
2021-05-11T13:17:25.4202607Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
2021-05-11T13:17:25.4206641Z 2021-05-11T13:17:23.593+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
2021-05-11T13:17:25.4211621Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
2021-05-11T13:17:25.4217531Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
2021-05-11T13:17:25.4222656Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
2021-05-11T13:17:25.4227166Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
2021-05-11T13:17:25.4231966Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
2021-05-11T13:17:25.4237114Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
2021-05-11T13:17:25.4241525Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
2021-05-11T13:17:25.4245315Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
2021-05-11T13:17:25.4249261Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
2021-05-11T13:17:25.4253232Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
2021-05-11T13:17:25.4258098Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
2021-05-11T13:17:25.4263111Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
2021-05-11T13:17:25.4267559Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
2021-05-11T13:17:25.4271732Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
2021-05-11T13:17:25.4276484Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:187)
2021-05-11T13:17:25.4281566Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:179)
2021-05-11T13:17:25.4286480Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
2021-05-11T13:17:25.4291568Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
2021-05-11T13:17:25.4296902Z 2021-05-11T13:17:23.594+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
2021-05-11T13:17:25.4302181Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
2021-05-11T13:17:25.4307078Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
2021-05-11T13:17:25.4311765Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
2021-05-11T13:17:25.4316454Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
2021-05-11T13:17:25.4320779Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
2021-05-11T13:17:25.4324960Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
2021-05-11T13:17:25.4329508Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
2021-05-11T13:17:25.4334313Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
2021-05-11T13:17:25.4338786Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
2021-05-11T13:17:25.4342959Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
2021-05-11T13:17:25.4347400Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
2021-05-11T13:17:25.4351890Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
2021-05-11T13:17:25.4356344Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
2021-05-11T13:17:25.4360869Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
2021-05-11T13:17:25.4366088Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
2021-05-11T13:17:25.4371270Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
2021-05-11T13:17:25.4375822Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
2021-05-11T13:17:25.4379998Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
2021-05-11T13:17:25.4384307Z 2021-05-11T13:17:23.595+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
2021-05-11T13:17:25.4388875Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
2021-05-11T13:17:25.4393618Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
2021-05-11T13:17:25.4398585Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
2021-05-11T13:17:25.4402808Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
2021-05-11T13:17:25.4406450Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
2021-05-11T13:17:25.4410210Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
2021-05-11T13:17:25.4414004Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
2021-05-11T13:17:25.4417662Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
2021-05-11T13:17:25.4421319Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
2021-05-11T13:17:25.4425063Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
2021-05-11T13:17:25.4427800Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2021-05-11T13:17:25.4429785Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2021-05-11T13:17:25.4431990Z 2021-05-11T13:17:23.596+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Get more help at https://help.gradle.org

This is on 2.3.0. We are running this as part of main build on a Github workflow as part of a plugin we've written.

I can't seem to find a pattern to when this happens.

Any ideas why this is happening?

Thanks!

Project instances are kept into memory of the Gradle Daemon

Hello

First, thanks for this plugin. I'm using the version 2.2 and I confirm this issue is in version 2.3 too.

The method Python.getPythonBinary is annotated with@Memorized and it's first parameter is a Project instance. Thus, each project instance passed to this method is kept in the memory of the Gradle daemon.

In my particular case, that leads to out of memory issues because each Project instance occupy ~77MB (I may have an issue regarding this of course).

I think the Project instances should not be kept into memory as this leads to a memory leak. Also the cache is by-passed because each Gradle call uses new Project instances.

Thanks !

Python v2.6 and checkPython task

Hi @xvik ,

The checkPython task is failing for me with the following error:
AttributeError: 'tuple' object has no attribute 'major'

Task :checkPython FAILED
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'major'
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':checkPython'.
> Python call failed: python -S -c exec("import sys;ver=sys.version_info;print(str(ver.major)+'.'+str(ver.minor)+'.'+str(ver.micro));print(sys.prefix)")

The following is the code that constructs the above command
https://github.com/xvik/gradle-use-python-plugin/blob/master/src/main/groovy/ru/vyarus/gradle/plugin/python/cmd/Python.groovy#L311

The error AttributeError: 'tuple' object has no attribute 'major' has to do with the fact that the box where I am running Gradle has Python v2.6.6 installed.

It is pretty bad, I know :( as Python v2.6 is very old, but I am afraid I am not in a position to upgrade it.

Thoughts?

checkPython silently fails after upgrading from gradle 7.4 to gradle 7.5

I tried to upgrade gradle to the new version and now plugin silently fails on checkPython task.

output on gradle 7.5:

#13 210.4 > Task :grpc-stub:language_safety:checkPython FAILED
#13 210.4 Using python 3.9.5 from /srv/.gradle/python (/srv/.gradle/python/bin/python)
#13 210.9 
#13 210.9 

output on gradle 7.4:

#13 192.4 > Task :grpc-stub:language_safety:checkPython
#13 192.4 Using python 3.9.5 from /srv/.gradle/python (/srv/.gradle/python/bin/python)
#13 192.4 

failed checkPython step causes to skip all pipInstall steps and python build consequently fails.

extraIndexUrls cause credentials to be printed on stdout

assuming a private repo needs credentials, the plugin could be configured in the following way

python {
  extraIndexUrls "https://${project.findProperty('artifactory_user')}:${project.findProperty('artifactory_password')}@artifactory.mycompany.com/my-index/url/"
}

This is working but it's printing the password in the log:


> Task :pipInstall
[python] ../.gradle/python/bin/python -m pip install requests==2.24.0 --extra-index-url https://artifactory.user:[email protected]/my-index/url/
         Looking in indexes: https://pypi.org/simple, https://artifactory.user:****@artifactory.mycompany.com/my-index/url/
         Collecting requests==2.24.0
           Downloading requests-2.24.0-py2.py3-none-any.whl (61 kB)
         Collecting chardet<4,>=3.0.2
           Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
         Collecting idna<3,>=2.5
           Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
         Collecting certifi>=2017.4.17
           Downloading certifi-2020.6.20-py2.py3-none-any.whl (156 kB)
         Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
           Using cached urllib3-1.25.10-py2.py3-none-any.whl (127 kB)
         Installing collected packages: chardet, idna, certifi, urllib3, requests
         Successfully installed certifi-2020.6.20 chardet-3.0.4 idna-2.10 requests-2.24.0 urllib3-1.25.10
[python] ../.gradle/python/bin/python -m pip list --format=columns --extra-index-url https://artifactory.user:[email protected]/my-index/url/
         Package    Version  
         ---------- ---------
         certifi    2020.6.20
         chardet    3.0.4    
         idna       2.10     
         pip        20.0.2   
         requests   2.24.0   
         setuptools 45.2.0   
         urllib3    1.25.10  
         wheel      0.34.2   

artifactory.password should be obfuscated with ***** as in Looking in indexes log line

checkPython fails on macOS

I'm trying to gtr started with this project but checkPython keeps failing. This seems to be because it assumes that the binary will be located at .gradle/python/bin/python but virtualenv puts it in .gradle/python/usr/local/bin/python.

I'm using python 3.10.6 and gradle-use-python-plugin version 3.0

> Task :checkPython
Using python 3.10.6 from /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.10 (python3)
Using pip 22.2.2 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
Using virtualenv /usr/local/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
virtualenv 20.4.2 from /Users/nicklas/Library/Python/3.10/lib/python/site-packages/virtualenv/__init__.py (in '.gradle/python')
[python] python3 -m virtualenv .gradle/python
         /usr/local/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
           warnings.warn(
         created virtual environment CPython3.10.6.final.0-64 in 340ms
           creator CPython3Posix(dest=/Users/nicklas/Repositories/personal/eagger/.gradle/python, clear=False, no_vcs_ignore=False, global=False)
           seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/nicklas/Library/Application Support/virtualenv)
             added seed packages: pip==21.0.1, setuptools==52.0.0, wheel==0.37.1
           activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

> Task :checkPython FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':checkPython'.
> Python not found: .gradle/python/bin/python. This must be a bug of virtualenv support, please report it (https://github.com/xvik/gradle-use-python-plugin/issues). You can disable virtualenv usage with 'python.scope = USER'.

Failed :checkPython on Windows

Hello,
I am trying to configure gradle-use-python-plugin for EduMIPS64, but I have issues getting it to work on Windows. I can reproduce the issue with a minimal gradle file (test.gradle.kts):

plugins {
    id ("ru.vyarus.use-python") version "2.2.0"
}

I get the following error:

❯ ./gradlew -b .\test.gradle.kts checkPython
> Task :checkPython FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':checkPython'.
> java.nio.file.AccessDeniedException: C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.496.0_x64__qbz5n2kfra8p0

Here is the result of the Python command ran by checkPython:

❯  python -c "import sys;ver=sys.version_info;print(str(ver.major)+'.'+str(ver.minor)+'.'+str(ver.micro));print(sys.prefix);print(sys.executable)"
3.9.1
C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.496.0_x64__qbz5n2kfra8p0
C:\Users\andre\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe

And here is the execution of checkPython --stacktrace. I hope you'll be able to help me. Happy to help troubleshoot things on my machine if needed. Thank you!

❯ ./gradlew -b .\test.gradle.kts checkPython --stacktrace
> Task :checkPython FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':checkPython'.
> java.nio.file.AccessDeniedException: C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.496.0_x64__qbz5n2kfra8p0

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':checkPython'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$3(ExecuteActionsTaskExecuter.java:186)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:268)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:184)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:411)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:398)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:391)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:377)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: org.gradle.api.UncheckedIOException: java.nio.file.AccessDeniedException: C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.496.0_x64__qbz5n2kfra8p0
        at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:61)
        at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:41)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:107)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:494)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:479)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:462)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$400(ExecuteActionsTaskExecuter.java:105)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:273)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:251)
        at org.gradle.internal.execution.steps.ExecuteStep.lambda$executeOperation$1(ExecuteStep.java:66)
        at org.gradle.internal.execution.steps.ExecuteStep.executeOperation(ExecuteStep.java:66)
        at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:34)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:47)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:44)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:34)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:72)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:42)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:53)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:39)
        at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:44)
        at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:77)
        at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:58)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:54)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:32)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:57)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:38)
        at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:63)
        at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:30)
        at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:176)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:76)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:43)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:32)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:39)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:25)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:102)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:95)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:83)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:96)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:52)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:83)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:54)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:88)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:88)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
        at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:46)
        at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:34)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:43)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution$3.withWorkspace(ExecuteActionsTaskExecuter.java:286)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:43)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:33)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:40)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:30)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:54)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:40)
        at org.gradle.internal.execution.impl.DefaultExecutionEngine.rebuild(DefaultExecutionEngine.java:46)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$0(ExecuteActionsTaskExecuter.java:182)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:182)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:411)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:398)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:391)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:377)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: java.nio.file.AccessDeniedException: C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.496.0_x64__qbz5n2kfra8p0
        at ru.vyarus.gradle.plugin.python.util.CliUtils.canonicalPath(CliUtils.groovy:224)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_memoizedMethodPriv_resolveInfo_closure11.doCall(Python.groovy:465)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_memoizedMethodPriv_resolveInfo_closure11.call(Python.groovy)
        at ru.vyarus.gradle.plugin.python.cmd.Python.withHiddenLog(Python.groovy:334)
        at ru.vyarus.gradle.plugin.python.cmd.Python.memoizedMethodPriv$resolveInfo(Python.groovy:460)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_closure5.doCall(Python.groovy)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_closure5.doCall(Python.groovy)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at ru.vyarus.gradle.plugin.python.cmd.Python.resolveInfo(Python.groovy)
        at ru.vyarus.gradle.plugin.python.cmd.Python.memoizedMethodPriv$getVersion(Python.groovy:304)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_closure3.doCall(Python.groovy)
        at ru.vyarus.gradle.plugin.python.cmd.Python$_closure3.doCall(Python.groovy)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at ru.vyarus.gradle.plugin.python.cmd.Python.getVersion(Python.groovy)
        at ru.vyarus.gradle.plugin.python.task.CheckPythonTask.checkPython(CheckPythonTask.groovy:76)
        at ru.vyarus.gradle.plugin.python.task.CheckPythonTask.run(CheckPythonTask.groovy:49)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
        ... 119 more


* Get more help at https://help.gradle.org

BUILD FAILED in 792ms
1 actionable task: 1 executed

Got Task :checkPython FAILED

I've got Task :checkPython FAILED
python/bin/python -c exec("import sys;ver=sys.version_info;print(str(ver.major)+'.'+str(ver.minor)+'.'+str(ver.micro));print(sys.prefix);print(sys.executable)")
when using java 11 and python 3.5
cuz I use docker hub openkbs/jdk11-mvn-py3 to do the gradle build.
I set python env at folder inside project dir call "python"

pipInstall up-to-date fails when deferring to `pip install -r`

First of all thanks for the great plugin!

We configured pipInstall to use native requirements.txt file. This gives devs the opportunity to work pip install -r requirements.txt on the command line when sourcing the corresponding venv. Unfortunately this leads to pipInstall being always up-to-date after the first run. I believe the issue is with this code, i.e. modulesToInstall is never populated with pip install -r deferred installs. Also, since a requriements.txt can include other requirements.txt files a potential solution ideally also deals with this. Maybe one way to solve is by using pip list to list all installed dependencies when directReqsInstallRequired is true and use that to populate modulesToInstall?

python plugin config:

configure(pythonProjects + listOf(rootProject)) {
    apply(plugin = "ru.vyarus.use-python")
    configure<PythonExtension> {
        pythonBinary = "python3.11"
        scope = PythonExtension.Scope.VIRTUALENV
        installVirtualenv = true
        requirements.use = true
        requirements.file = "requirements.txt"
        requirements.strict = false
        envPath = ".venv"
        // alwaysInstallModules = true  // while not really a fix this solves the problem for the time being.
    }
} 

and the corresponding requirements.txt files:

> cat requirement.txt
-r requirements-prod.txt                               
pytest==7.3.1
pytest-asyncio==0.21.0
pytest-mock==3.10.0
httpx==0.24.1
testcontainers[postgres]==3.7.1

> cat requirements-prod.txt                          
cachetools==5.3.1
CacheControl==0.13.0
dependency-injector==4.41.0
fastapi==0.95.2
matplotlib==3.7.1
numpy==1.24.3
pandas==2.0.2
scipy==1.10.1
pg8000==1.29.4
Pillow==9.5.0
pyaml-env==1.2.1
pydantic-collections==0.4.0
pydantic-yaml==0.11.2
pydantic==1.10.8
python-multipart==0.0.6
SQLAlchemy==2.0.15
starlette==0.27.0
uvicorn[standard]==0.22.0
yoyo-migrations==8.2.0

google-auth==2.19.1
google-cloud-storage==2.9.0
google-cloud-logging==3.5.0
google-cloud-secret-manager==2.16.1
cloud-sql-python-connector[pg8000]==1.2.3

thanks!@

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.