pipenv shell in Jenkins return the issue termios.error: (25, 'Inappropriate ioctl for device')
Full error message
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#
Solutionsource: stackoverflow \u2197
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
API access
Get this solution programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/error/801caeb3a936c03ab0599b176397ab673e40be3ee7f4538a4b55594c73381a70hash \u00b7 801caeb3a936c03ab0599b176397ab673e40be3ee7f4538a4b55594c73381a70