在 dockerfile 中安装 jython 时出现 NotImplementedError
NotImplementedError while installing jython in dockerfile
我有一个 Dockerfile
建立在 1.7.0_45
JAVA 之上,我想在其中安装 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
系统上安装它没有问题。
我已经通过在 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
我有一个 Dockerfile
建立在 1.7.0_45
JAVA 之上,我想在其中安装 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
系统上安装它没有问题。
我已经通过在 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