0

Docker 上の Debian に pyproj をインストールしたいと考えています。

これは私のスクリプトです:

FROM debian:latest

RUN /bin/bash -c 'apt-get update && \
  DEBIAN_FRONTEND=noninteractive apt-get install -yq apt-utils && \
  DEBIAN_FRONTEND=noninteractive apt-get install -yq \
  libpython3-dev \
  python3-pip \
  proj-bin \
  curl \
  libcurl4-gnutls-dev \
  wget \
  sqlite3 \
  node-sqlite3 \
  libsqlite3-dev \
  libtiff5 \
  libtiff5-dev \
  make \
  python-rtree && \
  apt-get upgrade -yq && \
  apt-get clean && \
  apt-get update \
  '
RUN  wget https://download.osgeo.org/proj/proj-7.2.0.tar.gz
RUN  tar -xvzf proj-7.2.0.tar.gz
RUN  cd proj-7.2.0/  &&  ./configure  &&  make  &&  make install
RUN  find / -name proj
RUN /bin/bash -c 'rm -rf /var/lib/apt/lists/* && \
  
  pip3 install \ 
  pyproj --no-binary pyproj \
  '

これは出力です:

Step 6/7 : RUN  find / -name proj
 ---> Running in 6ae2ce5a5157
/usr/share/proj
/usr/local/share/proj
/usr/local/include/proj
/usr/local/bin/proj
/usr/bin/proj
/proj-7.2.0/src/.libs/proj
/proj-7.2.0/src/proj
/proj-7.2.0/include/proj
Removing intermediate container 6ae2ce5a5157
 ---> 9e652a740f23
Step 7/7 : RUN /bin/bash -c 'rm -rf /var/lib/apt/lists/* &&   pip3 install   pyproj --no-binary pyproj   '
 ---> Running in 2fa15199039b
Collecting pyproj
  Downloading https://files.pythonhosted.org/packages/17/e5/3f5cdff3e955bcd768cdb0f4236f2d6e022aaa72f57caf7f4d5f552c88fc/pyproj-3.0.0.post1.tar.gz (663kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-r4rvjbmz/pyproj/setup.py", line 224, in <module>
        ext_modules=get_extension_modules(),
      File "/tmp/pip-install-r4rvjbmz/pyproj/setup.py", line 155, in get_extension_modules
        proj_version = get_proj_version(proj_dir)
      File "/tmp/pip-install-r4rvjbmz/pyproj/setup.py", line 22, in get_proj_version
        proj_ver = subprocess.check_output(str(proj), stderr=subprocess.STDOUT).decode(
      File "/usr/lib/python3.7/subprocess.py", line 395, in check_output
        **kwargs).stdout
      File "/usr/lib/python3.7/subprocess.py", line 487, in run
        output=stdout, stderr=stderr)
    subprocess.CalledProcessError: Command '/usr/local/bin/proj' returned non-zero exit status 127.
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-r4rvjbmz/pyproj/

以前、pip経由でpyprojをインストールしようとしましたが、依存関係としてPROJをインストールしますが、バージョンが間違っています。そのため、wget によるバイナリのインストールに切り替えました。

また、proj が実際に正しい場所にあることを示すために、find 出力を行いました。

助言がありますか?

4

1 に答える 1