@Stormx480
Python Backend Developer

Как обновить Pipfile.lock изнутри докер-контейнера?

Суть:
Необходимо обновить Pipfile.lock изнутри докер-контейнера, что бы не устанавливать себе кучу сложных зависимостей.
Собственно, прокинул volume, зашел в контейнер, сделал pipenv install pckg, Pipfile обновился замечательно, а на Pipfile.lock мне выдало следующую ошибку:

Running $ pipenv lock then $ pipenv sync.
Locking [dev-packages] dependencies...
✔ Success! 
Locking [packages] dependencies...
✔ Success! 
Traceback (most recent call last):
  File "/usr/local/bin/pipenv", line 10, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.7/site-packages/pipenv/vendor/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/pipenv/vendor/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/site-packages/pipenv/vendor/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/site-packages/pipenv/vendor/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/site-packages/pipenv/vendor/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/pipenv/vendor/click/decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/pipenv/vendor/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/pipenv/vendor/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/pipenv/cli/command.py", line 554, in update
    write=not state.quiet,
  File "/usr/local/lib/python3.7/site-packages/pipenv/core.py", line 1094, in do_lock
    project.write_lockfile(lockfile)
  File "/usr/local/lib/python3.7/site-packages/pipenv/project.py", line 860, in write_lockfile
    f.write(u"\n")
  File "/usr/local/lib/python3.7/contextlib.py", line 119, in __exit__
    next(self.gen)
  File "/usr/local/lib/python3.7/site-packages/pipenv/vendor/vistir/contextmanagers.py", line 301, in atomic_open_for_write
    os.rename(f.name, target)  # No os.replace() on Python 2.
OSError: [Errno 16] Device or resource busy: '/.__atomic-writerg0c9_49' -> '/Pipfile.lock'


Пробовал вырубать все другие контейнеры и удалять образы перед установкой пакета, а так же увеличить права на запись/чтение как внутри докера, так и снаружи. (не помогло)

На другом проекте с точно такой же конфигурацией почему то через волюм Pipfile.lock перезаписывается корректно.
Ума не приложу че делать.
  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы