Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Jenkins中的pipenv shell返回问题termios.error:(25,';设备的ioctl不正确';)_Python_Jenkins_Pipenv - Fatal编程技术网

Python Jenkins中的pipenv shell返回问题termios.error:(25,';设备的ioctl不正确';)

Python Jenkins中的pipenv shell返回问题termios.error:(25,';设备的ioctl不正确';),python,jenkins,pipenv,Python,Jenkins,Pipenv,我的Jenkins有一个问题,当我运行作业时,Jenkins会遵循以下步骤: 1 - pipenv install -r requirements.txt 2 - pipenv shell 此步骤显示此错误: + pipenv shell 17:26:04 Loading .env environment variables… 17:26:04 Launching subshell in virtual environment… 17:26:04 Traceback (most recent

我的Jenkins有一个问题,当我运行作业时,Jenkins会遵循以下步骤:

1 - pipenv install -r requirements.txt
2 - pipenv shell 
此步骤显示此错误:

+ 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
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# 

詹金斯是一个非交互环境。所有用户输入都是无效的,它只是一个输出控制台

因此,如果不重定向标准输入,就无法从中运行交互式shell

您可能想要一些非交互式但仍在虚拟环境中的东西,如:

pipenv run python my_script.py my_argument_1

谢谢,现在我正试图解决这个问题。一旦我找到一个解决方案,我会把它贴在这里。问题是:你想要实现什么?因为你不会在jenkins下写一个shell。jenkins有多个作业,所有作业都需要一个特定的环境,每个作业都有不同版本的软件包抱歉,这么长时间来回答问题,但这是你说的吗。唯一的区别是因为我需要运行flake8和pytest,所以我执行了pipenv运行flake8和pipenv运行pytest。感谢
pipenv run python my_script.py my_argument_1