没有这样的文件或目录:requirements.txt

时间:2019-09-27 00:59:11

标签: python docker sh

当前正在尝试运行脚本,但是我陷入了缺少的requirements.txt中。

这是.sh文件

#!/bin/bash -e
# Copyright 2019 IBM All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

if [ -z "$1" ]
  then
    echo "Usage: ./deployCapability.sh <ACTION NAME>"
    exit 1
fi

docker run --rm -v "$PWD:/tmp" ibmfunctions/action-python-v3.7 bash -c "cd /tmp && virtualenv virtualenv && source virtualenv/bin/activate && pip install -r /boxai/requirements.txt"
zip -r $1.zip virtualenv __main__.py ./src/action.py ./src/storage.py config.json ./src/bsk_utils.py ./src/__init__.py
ibmcloud fn action update $1 --kind python:3.7 $1.zip --web true --timeout 600000
date

rm $1.zip

运行.sh时,我会完成安装setuptools,pip,wheel ...的安装过程。 完成。 就会吐出一个错误。

  

错误:无法打开需求文件:[Errno 2]没有这样的文件或目录:'requirements.txt'

我在哪里做错了什么?

更新:我的文件夹的位置在桌面上。我也将路径更改为/boxai/requirements.txt和/c/users/admin/desktop/boxai/requirements.txt...。不走运。

谢谢

1 个答案:

答案 0 :(得分:0)

很难知道所在的文件,但是您已经用/tmp将某些文件装载到-v "$PWD:/tmp"上,但是丢失的文件似乎是{{ 1}},位于/boxai/requirements.txt

之外

因此,也许您需要添加/tmp,这假定您在运行Shell脚本的当前目录中有一个requirements.txt。

  

我也将路径更改为/boxai/requirements.txt

如果您从某个地方下载了此脚本,我会将其更改回以前的样子,然后将本地目录重新映射到容器中,以使其期望文件位于容器中,而不是基于您的路径主办。