Hen*_*ury 14 python jenkins pipenv
我的 Jenkins 有一个问题,当我运行 Job 时,Jenkins 遵循以下步骤:
1 - pipenv install -r requirements.txt
2 - pipenv shell
Run Code Online (Sandbox Code Playgroud)
在这一步显示此错误:
+ 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
Run Code Online (Sandbox Code Playgroud)
我已经搜索过这个错误,但我发现的所有内容都不适用于我,例如:
1- Execute pipenv shell --fancy
Run Code Online (Sandbox Code Playgroud)
2 - 如果我进入 Jenkins 机器并运行 pipenv shell 它会通过
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#
Run Code Online (Sandbox Code Playgroud)
Jea*_*bre 20
Jenkins 是一个非交互式环境。所有用户输入都无效,它只是一个输出控制台。
因此,如果不重定向标准输入,就无法从中运行交互式 shell。
您可能想要一些非交互式但仍在您的虚拟环境中的东西,例如:
pipenv run python my_script.py my_argument_1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5944 次 |
| 最近记录: |