jenkinsci / pyenv-pipeline-plugin

Execute commands in Python virtualenvs in Jenkins Pipeline DSL
https://plugins.jenkins.io/pyenv-pipeline/
MIT License
33 stars 15 forks source link

Why does this default to installing tox? #9

Closed ilovemysillybanana closed 6 years ago

ilovemysillybanana commented 6 years ago

This shouldn’t assume I want or need tox.

cstarner commented 6 years ago

It doesn't install Tox; or anything else for that matter. This plugin relies on there being a Python installation already available on the system. It is then up to the end-user to point it in the right direction.

The plugin will look for the ShiningPanda plugin, and if it is installed, it will utilize that to the best of its ability. However, ShiningPanda is by no means a prerequisite. Since ShiningPanda has a ToxBuilder class, and is capable of installing programs it needs to run, I believe that may be the culprit

ilovemysillybanana commented 6 years ago

What we were experiencing was that even if we erased "tox" from the pip install options text field, we'd save and apply and the project would leave "tox" in there and try to install it. If we went back into configure it as well, it'd still be there as if we never removed it.

cstarner commented 6 years ago

Can you show me what your Pipeline script looks like?

ilovemysillybanana commented 6 years ago

Unfortunately, no. It's part of a jenkins job at work. Is there some variable that this plugin looks for that I should be unsetting?

cstarner commented 6 years ago

No, not really.

Like I said, this plugin doesn't install anything itself; it relies on Python being made available through some other means. Using a withPythonEnv block just tells the plugin to try and create a virtualenv based on whatever string is passed to it. This is the reason why I added the ability to optionally piggyback off of ShiningPanda; a Jenkins plugin that is used to install and manage Python installations on Jenkins slaves.

In short, there is no way that this plugin is what is causing your problems. You can look at the source code yourself if you don't believe me; it's not a very large or complicated project.

Since the script is for work, and you don't want to replicate it here (for very understandable reasons), I can't assist you any further. I'm closing this issue, barring some evidence of this plugins direct involvement.