【问题标题】:NotImplementedError while installing jython in dockerfile在 dockerfile 中安装 jython 时出现 NotImplementedError
【发布时间】:2017-08-28 21:26:14
【问题描述】:

我有一个基于1.7.0_45 JAVA 的Dockerfile,我想在其中安装jython。这就是我根据this 实现的方式:

FROM java:7.0_45
MAINTAINER Zeinab Abbasimazar (zeinab.abbasi@peykasa.ir)
ENV JYTHON_VERSION=2.7.0
RUN apt-get update; \
    apt-get install -y --no-install-recommends apt-utils; \
    apt-get install -y curl; \
    curl -Lo jython-installer-$JYTHON_VERSION.jar \
    "http://search.maven.org/remotecontent?filepath=org/python/jython-installer/$JYTHON_VERSION/jython-installer-$JYTHON_VERSION.jar"; \
    java -jar jython-installer-$JYTHON_VERSION.jar -s -t minimum -i mod -i ensurepip -d /usr/local/jython-$JYTHON_VERSION; \
    rm -f jython-installer-$JYTHON_VERSION.jar; \
    ln -s /usr/local/jython-$JYTHON_VERSION/bin/* /usr/local/bin/
RUN java -version
ENTRYPOINT ["bash"]

java:7.0_45 是从内部存储库下载的。

java -version 的输出为:

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

在构建阶段,我得到了这个:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
100   161  100   161    0     0    195      0 --:--:-- --:--:-- --:--:--   195
100 88.5M  100 88.5M    0     0   113k      0  0:13:22  0:13:22 --:--:--  117k
Performing silent installation
 10 %
 20 %
 30 %
 40 %
 50 %
 60 %
Generating start scripts ...
Installing pip and setuptools
 90 %
Traceback (most recent call last):
  File "/usr/local/jython-2.7.0/Lib/runpy.py", line 161, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/jython-2.7.0/Lib/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/jython-2.7.0/Lib/ensurepip/__main__.py", line 4, in <module>
    ensurepip._main()
  File "/usr/local/jython-2.7.0/Lib/ensurepip/__init__.py", line 220, in _main
    bootstrap(
  File "/usr/local/jython-2.7.0/Lib/ensurepip/__init__.py", line 123, in bootstrap
    _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/usr/local/jython-2.7.0/Lib/ensurepip/__init__.py", line 45, in _run_pip
    import pip
  File "/tmp/tmpt9RVvB/pip-1.6-py2.py3-none-any.whl/pip/__init__.py", line 10, in <module>
  File "/tmp/tmpt9RVvB/pip-1.6-py2.py3-none-any.whl/pip/util.py", line 17, in <module>
  File "/tmp/tmpt9RVvB/pip-1.6-py2.py3-none-any.whl/pip/locations.py", line 109, in <module>
  File "/tmp/tmpt9RVvB/pip-1.6-py2.py3-none-any.whl/pip/locations.py", line 71, in _get_build_prefix
  File "/tmp/tmpt9RVvB/pip-1.6-py2.py3-none-any.whl/pip/locations.py", line 66, in __get_username
  File "/usr/local/jython-2.7.0/Lib/pwd.py", line 60, in getpwuid
    return struct_passwd(entry)
  File "/usr/local/jython-2.7.0/Lib/pwd.py", line 36, in __new__
    pwd = (newStringOrUnicode(pwd.loginName), newStringOrUnicode(pwd.password), int(pwd.UID),
NotImplementedError: passwd.pw_passwd unimplemented
 100 %
Congratulations! You successfully installed Jython 2.7.0 to directory /usr/local/jython-2.7.0.

jython 在运行阶段工作正常,但我很好奇导致此错误的原因。有什么有用的信息吗?

编辑 1:

我应该提到我在ubuntu 16.04 系统上安装它没有问题。

【问题讨论】:

    标签: docker dockerfile jython


    【解决方案1】:

    我已经通过在 apt-get 下载列表中添加 python 解决了这个问题:

    apt-get install -y curl python2.7 python-dev
    

    现在,这是输出:

      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
    100   161  100   161    0     0     89      0  0:00:01  0:00:01 --:--:--    89
    100 88.5M  100 88.5M    0     0  99631      0  0:15:32  0:15:32 --:--:--  117k
    Performing silent installation
     10 %
     20 %
     30 %
     40 %
     50 %
     60 %
    Generating start scripts ...
    Installing pip and setuptools
     90 %
    Ignoring indexes: https://pypi.python.org/simple/
    Downloading/unpacking setuptools
    Downloading/unpacking pip
    Installing collected packages: setuptools, pip
    Successfully installed setuptools pip
    Cleaning up...
     100 %
    Congratulations! You successfully installed Jython 2.7.0 to directory /usr/local/jython-2.7.0.
     ---> 0672c44d1960
    

    【讨论】:

      猜你喜欢
      • 2012-05-02
      • 2022-07-25
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      • 1970-01-01
      • 2015-06-07
      相关资源
      最近更新 更多