bir*_*n04 6 docker python-poetry
我有alpine:edge作为基本图像,并想在其中使用诗歌。我正在尝试像这样安装它:
\n\nRUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python\nRUN source $HOME/.poetry/env\nRun Code Online (Sandbox Code Playgroud)\n\n脚本运行没有错误,但是当我尝试实际使用它时,bash 说它没有安装:
\n\nStep 16/18 : RUN poetry install --no-dev\n ---> Running in 38ce454369cb\n/bin/sh: poetry: not found\nRun Code Online (Sandbox Code Playgroud)\n\n什么可能导致此问题?
\n\nUPD: env 文件似乎有问题:
\n\n~/.poetry # source env\n/bin/sh: /usr/bin/env: line 1: ELF: not found\n/bin/sh: /usr/bin/env: line 2: \xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: line 3: \xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\n : not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbde\xef\xbf\xbdmgUa: not found\n/bin/sh: /usr/bin/env: M\xef\xbf\xbdZ\xef\xbf\xbd\xef\xbf\xbd!9!di9W\xdb\x93\xc5\xb9\xef\xbf\xbd@9\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbd!\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd7e\xef\xbf\xbd\n \xef\xbf\xbd\xdd\xa3k\xef\xbf\xbd\xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\n \xef\xbf\xbdB\xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbdQ\xef\xbf\xbdtdR\xef\xbf\xbdtd: not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbdn\xef\xbf\xbd\xe9\x95\xb3\xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\n : not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbd\n \xef\xbf\xbd\nL\xef\xbf\xbd@\xef\xbf\xbdDIklqrsvwxz: not found \xef\xbf\xbd9\xef\xbf\xbd9/lib/ld-musl-x86_64.so.1k\xef\xbf\xbd!\xef\xbf\xbdR\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd2\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbd\xef\xbf\xbd\n p\xef\xbf\xbd\n n\xef\xbf\xbd\xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: syntax error: unterminated quoted string\n~/.poetry # source env\n/bin/sh: /usr/bin/env: line 1: ELF: not found\n/bin/sh: /usr/bin/env: line 2: \xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: line 3: \xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\n : not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbdn\xef\xbf\xbd\xe9\x95\xb3\xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\n \xef\xbf\xbdB\xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbdQ\xef\xbf\xbdtdR\xef\xbf\xbdtd: not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbde\xef\xbf\xbdmgUa: not found\n/bin/sh: /usr/bin/env: M\xef\xbf\xbdZ\xef\xbf\xbd\xef\xbf\xbd!9!di9W\xdb\x93\xc5\xb9\xef\xbf\xbd@9\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbd!\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd7e\xef\xbf\xbd\n \xef\xbf\xbd\xdd\xa3k\xef\xbf\xbd\xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\n : not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbd\n \xef\xbf\xbd\nL\xef\xbf\xbd@\xef\xbf\xbdDIklqrsvwxz: not found \xef\xbf\xbd9\xef\xbf\xbd9/lib/ld-musl-x86_64.so.1k\xef\xbf\xbd!\xef\xbf\xbdR\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd2\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbd\xef\xbf\xbd\n p\xef\xbf\xbd\n n\xef\xbf\xbd\xef\xbf\xbd: not found\n/bin/sh: /usr/bin/env: syntax error: unterminated quoted string\nRun Code Online (Sandbox Code Playgroud)\n\n我尝试手动将二进制文件添加到路径中,但是运行
\n\nRUN export PATH=$PATH:/root/.poetry/bin\nRun Code Online (Sandbox Code Playgroud)\n\n好像没有什么效果。当我进入容器时,路径似乎没有改变。
\n我提出的最佳解决方案是手动设置环境,因为二进制文件本身安装得很好
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
ENV PATH = "${PATH}:/root/.poetry/bin"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6124 次 |
| 最近记录: |