Как читать и исправлять ошибки pipenv при создании среды? - PullRequest
1 голос
/ 29 апреля 2019

Я запустил новый проект и хотел создать виртуальную среду через pipenv, как я делал последние семь раз. Я новичок / новичок в pipenv, но мне удается заставить вещи делать то, что я хочу, и у меня не возникло серьезных проблем, прежде чем я не смог решить самостоятельно. Мне очень нравится, что в моей системе не установлено множество зависимостей, и я хотел бы придерживаться виртуальной среды.

Чтобы создать проблему, мне просто нужно сгенерировать новый файл блокировки в новой папке с файлами или без них заранее. Уже сгенерированные файлы блокировки работают без ошибок (не пытались установить новые зависимости в более старом проекте).

терминал

-> замок pipenv рабочей области

Creating a virtualenv for this project…
Pipfile: /home/djursing/workspace/Pipfile
Using /usr/bin/python3 (3.6.7) to create virtualenv…
⠋ Creating virtual environment...Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/djursing/.local/share/virtualenvs/workspace-kiFyzAmW/bin/python3

✘ Failed creating virtual environment 
[pipenv.exceptions.VirtualenvCreationException]:   File "/home/djursing/.local/lib/python3.6/site-packages/pipenv/vendor/click/decorators.py", line 17, in new_func
[pipenv.exceptions.VirtualenvCreationException]:       return f(get_current_context(), *args, **kwargs)
[pipenv.exceptions.VirtualenvCreationException]:   File "/home/djursing/.local/lib/python3.6/site-packages/pipenv/cli/command.py", line 319, in lock
[pipenv.exceptions.VirtualenvCreationException]:       ensure_project(three=state.three, python=state.python, pypi_mirror=state.pypi_mirror)
[pipenv.exceptions.VirtualenvCreationException]:   File "/home/djursing/.local/lib/python3.6/site-packages/pipenv/core.py", line 574, in ensure_project
[pipenv.exceptions.VirtualenvCreationException]:       pypi_mirror=pypi_mirror,
[pipenv.exceptions.VirtualenvCreationException]:   File "/home/djursing/.local/lib/python3.6/site-packages/pipenv/core.py", line 506, in ensure_virtualenv
[pipenv.exceptions.VirtualenvCreationException]:       python=python, site_packages=site_packages, pypi_mirror=pypi_mirror
[pipenv.exceptions.VirtualenvCreationException]:   File "/home/djursing/.local/lib/python3.6/site-packages/pipenv/core.py", line 935, in do_create_virtualenv
[pipenv.exceptions.VirtualenvCreationException]:       extra=[crayons.blue("{0}".format(c.err)),]
[pipenv.exceptions.VirtualenvCreationException]: Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/djursing/.local/lib/python3.6/site-packages/virtualenv.py", line 2502, in <module>
    main()
  File "/home/djursing/.local/lib/python3.6/site-packages/virtualenv.py", line 793, in main
    symlink=options.symlink,
  File "/home/djursing/.local/lib/python3.6/site-packages/virtualenv.py", line 1070, in create_environment
    install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages=site_packages, clear=clear, symlink=symlink)
  File "/home/djursing/.local/lib/python3.6/site-packages/virtualenv.py", line 1392, in install_python
    shutil.copyfile(executable, py_executable)
  File "/usr/lib/python3.6/shutil.py", line 121, in copyfile
    with open(dst, 'wb') as fdst:
OSError: [Errno 26] Text file busy: '/home/djursing/.local/share/virtualenvs/workspace-kiFyzAmW/bin/python3'

Failed to create virtual environment.

Я ожидал, что файл блокировки установлен, и я собираюсь установить необходимые зависимости для своего проекта, но вместо этого я застрял в этой ошибке. У меня очень мало знаний об общем управлении системой, поэтому я стараюсь избегать установки зависимостей / пакетов по всей системе.

Я проверил тему с именем: "OError: [Errno 26] Текстовый файл занят: '/… myvirtualenv / bin / python'", но я не приблизился к решению проблемы.

Надеюсь, кто-нибудь сможет мне помочь.

1 Ответ

1 голос
/ 29 апреля 2019

Я использовал pipenv через python (python -run pipenv) с созданным мной псевдонимом вместо использования пути к файлу bin (~ / usr / local / bin / pipenv).Изменение псевдонима для ссылки на путь решило проблему.

...