4

I am running a docker container on a cluster where I try to run an open source code : https://github.com/xinntao/BasicSR. However I encounter the following error:

As I can see it's the package wandb that creates the error when initialized.

Traceback (most recent call last):
  File "/home/GAN/BasicSR-master/basicsr/train.py", line 251, in <module>
    main()
  File "/home/GAN/BasicSR-master/basicsr/train.py", line 152, in main
    logger, tb_logger = init_loggers(opt)
  File "/home/GAN/BasicSR-master/basicsr/train.py", line 72, in init_loggers
    init_wandb_logger(opt)
  File "/home/GAN/BasicSR-master/basicsr/utils/dist_util.py", line 81, in wrapper
    return func(*args, **kwargs)
  File "/home/GAN/BasicSR-master/basicsr/utils/logger.py", line 89, in init_wandb_logger
    import wandb
  File "/usr/local/lib/python3.9/site-packages/wandb/__init__.py", line 131, in <module>
    api = InternalApi()
  File "/usr/local/lib/python3.9/site-packages/wandb/apis/internal.py", line 17, in __init__
    self.api = InternalApi(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/wandb/sdk/internal/internal_api.py", line 73, in __init__
    self._settings = Settings(
  File "/usr/local/lib/python3.9/site-packages/wandb/old/settings.py", line 25, in __init__
    self._global_settings.read([Settings._global_path()])
  File "/usr/local/lib/python3.9/site-packages/wandb/old/settings.py", line 105, in _global_path
    util.mkdir_exists_ok(config_dir)
  File "/usr/local/lib/python3.9/site-packages/wandb/util.py", line 687, in mkdir_exists_ok
    os.makedirs(path)
  File "/usr/local/lib/python3.9/os.py", line 215, in makedirs
    makedirs(head, exist_ok=exist_ok)
  File "/usr/local/lib/python3.9/os.py", line 225, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/.config'

I tried to add a user in my Dockerfile but have the same error. My Dockerfile:

FROM python:3

COPY requirements.txt /tmp/
RUN apt-get update
RUN apt-get install ffmpeg libsm6 libxext6 -y
RUN pip install pip --upgrade pip
RUN pip install imageio
RUN pip install matplotlib
RUN pip install numpy
RUN pip install opencv-python
RUN pip install pandas
RUN pip install Pillow
RUN pip install scipy
RUN pip install wandb
RUN pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
RUN pip install --requirement /tmp/requirements.txt

RUN useradd -ms /bin/bash admin
USER admin

ENV PYTHONPATH "${PYTHONPATH}:/home/GAN"

WORKDIR /home/
CMD /bin/bash
Drago
  • 43
  • 2
  • 6

1 Answers1

2

For the pip install wandb part, change it to:

pip install wandb --user
EWJ00
  • 399
  • 1
  • 7
  • 2
    This work, but when I want to use a virtual environment the _--user_ is not accepted. And it gives the same issue – Drago Apr 14 '21 at 16:34