Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.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
Docker 安装pyproj不工作返回127_Docker_Debian_Proj_Pyproj - Fatal编程技术网

Docker 安装pyproj不工作返回127

Docker 安装pyproj不工作返回127,docker,debian,proj,pyproj,Docker,Debian,Proj,Pyproj,我想在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 \

我想在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/
步骤6/7:运行find/-name项目
--->在6ae2ce5a5157中运行
/usr/共享/项目
/usr/本地/共享/项目
/usr/本地/包括/项目
/usr/本地/银行标识代码/项目
/usr/bin/proj
/项目-7.2.0/src/.libs/proj
/项目-7.2.0/src/proj
/项目-7.2.0/include/proj
拆卸中间容器6ae2ce5a5157
--->9e652a740f23
步骤7/7:运行/bin/bash-c'rm-rf/var/lib/apt/lists/*&&pip3安装pyproj——无二进制pyproj'
--->在2fa15199039b中运行
收集pyproj
正在下载https://files.pythonhosted.org/packages/17/e5/3f5cdff3e955bcd768cdb0f4236f2d6e022aaa72f57caf7f4d5f552c88fc/pyproj-3.0.0.post1.tar.gz (663kB)
安装生成依赖项:已开始
安装生成依赖项:已完成,状态为“完成”
从命令python setup.py egg_info完成输出:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/tmp/pip-install-r4rvjbmz/pyproj/setup.py”,第224行,在
ext\u modules=get\u extension\u modules(),
文件“/tmp/pip-install-r4rvjbmz/pyproj/setup.py”,第155行,在get_扩展_模块中
项目版本=获取项目版本(项目目录)
get_项目版本中的文件“/tmp/pip-install-r4rvjbmz/pyproj/setup.py”,第22行
proj\u ver=子进程。检查输出(str(proj),stderr=子进程。STDOUT)。解码(
文件“/usr/lib/python3.7/subprocess.py”,第395行,在check_输出中
**kwargs)stdout
文件“/usr/lib/python3.7/subprocess.py”,第487行,正在运行
输出=标准输出,标准输出=标准输出)
subprocess.CalledProcessError:命令'/usr/local/bin/proj'返回非零退出状态127。
----------------------------------------
命令“python setup.py egg_info”在/tmp/pip-install-r4rvjbmz/pyproj中失败,错误代码为1/
早些时候,我尝试通过pip安装pyproj,它将作为依赖项安装PROJ,但版本错误。这就是为什么我转而通过wget安装二进制文件

此外,我还提供了一个find输出,以显示proj实际上位于正确的位置

有什么建议吗?

我建议:

  • 升级到pip>=19,以便项目7.2已启动
  • ENV PROJ_DIR=/path/to/PROJ/install
    安装项目时:
    /configure--前缀$PROJ_DIR

  • 非常感谢!使用了第一个选项,它成功了。继续做好工作