I have a problem with my Jenkins that when I run a Job, Jenkins follow these steps:
1 - pipenv install -r requirements.txt
2 - pipenv shell
At this step is showing this error:
+ pipenv shell
17:26:04 Loading .env environment variables…
17:26:04 Launching subshell in virtual environment…
17:26:04 Traceback (most recent call last):
17:26:04 File "/usr/local/bin/pipenv", line 11, in <module>
17:26:04 sys.exit(cli())
17:26:04 File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/click/core.py", line 764, in __call__
17:26:04 return self.main(*args, **kwargs)
17:26:04 File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/click/core.py", line 717, in main
17:26:04 rv = self.invoke(ctx)
17:26:04 File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/click/core.py", line 1137, in invoke
17:26:04 return _process_result(sub_ctx.command.invoke(sub_ctx))
17:26:04 File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/click/core.py", line 956, in invoke
17:26:04 return ctx.invoke(self.callback, **ctx.params)
17:26:04 File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/click/core.py", line 555, in invoke
17:26:04 return callback(*args, **kwargs)
17:26:04 File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/click/decorators.py", line 64, in new_func
17:26:04 return ctx.invoke(f, obj, *args, **kwargs)
17:26:04 File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/click/core.py", line 555, in invoke
17:26:04 return callback(*args, **kwargs)
17:26:04 File "/usr/local/lib/python3.6/dist-packages/pipenv/cli/command.py", line 390, in shell
17:26:04 pypi_mirror=state.pypi_mirror,
17:26:04 File "/usr/local/lib/python3.6/dist-packages/pipenv/core.py", line 2184, in do_shell
17:26:04 shell.fork_compat(*fork_args)
17:26:04 File "/usr/local/lib/python3.6/dist-packages/pipenv/shells.py", line 121, in fork_compat
17:26:04 c.interact(escape_character=None)
17:26:04 File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/pexpect/pty_spawn.py", line 761, in interact
17:26:04 mode = tty.tcgetattr(self.STDIN_FILENO)
17:26:04 termios.error: (25, 'Inappropriate ioctl for device')
17:26:04 Build step 'Execute shell' marked build as failure
17:26:05 Finished: FAILURE
I've searched for this error and everything I found doesn't work for me, for instance:
1- Execute pipenv shell --fancy
2 - If I get in Jenkins machine and run pipenv shell it goes through
root@ip:~/.jenkins/workspace/Midhaz-Back-New-MR# pipenv shell
+ pipenv shell
Loading .env environment variables…
Launching subshell in virtual environment…
root@ip:~/.jenkins/workspace/Midhaz-Back-New-MR# . /root/.local/share/virtualenvs/Midhaz-Back-New-MR-TllOp5eO/bin/activate
(Midhaz-Back-New-MR) root@ip:~/.jenkins/workspace/Midhaz-Back-New-MR#
Jenkins is a non-interactive environment. All user input is nullified, and it's just an output console.
So you cannot run an interactive shell from it without redirection of the standard input.
You probably want something non-interactive but still in your virtual environment like:
pipenv run python my_script.py my_argument_1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With