установка пакета pipenv происходит » ModuleNotFoundError` без установки pip

#python #pipenv

Вопрос:

у пакета установки pipenv есть некоторые проблемы со мной.

из-за ModuleNotFoundError я должен выполнить команду pip install

Нравится pip install python-dotenv .

Нужен ли pip, даже если вы используете pipenv?

ModuleNotFoundError происходит каждый раз.

  • среда: удаленный контейнер VSCODE(простая настройка по умолчанию)
  • python 3.x

пипфайл

 python-dotenv = "==0.17.1"
 

выполнить команду

 pipenv install packages
pipenv shell (<-- I am not sure this is needed in my case.)
python myprogram.py
 

ошибка

 Traceback (most recent call last):
  File "my_program.py", line 11, in <module>
    import script.common.settings as settings
  File "/workspaces/my_project/script/common/settings.py", line 3, in <module>
    from dotenv import load_dotenv
ModuleNotFoundError: No module named 'dotenv'
 

Есть ли какое-нибудь представление об этом ? Большое спасибо!.

Ответ №1:

Может быть, вы можете попробовать это

 pipenv run python myprogram.py
 

pipenv shell с другой стороны, используется для активации вашей виртуальной среды python, что-то вроде source venv/bin/activate того, как если бы вы раньше использовали модуль по умолчанию venv . pipenv работает, создавая виртуальную среду для вас, когда вы это делаете pipenv install <module> . Следовательно, когда вы это делаете pipenv shell , вы используете python, как если бы вы находились в виртуальной среде (конечно, это еще не все, так как он использует подшеллу, которая технически отличается от просто терминального процесса).

Я лично не рекомендую использовать pipenv shell , просто используйте pipenv run для поддержания чистоты. Это связано с тем, что при запуске нескольких проектов/виртуальных сред вы можете просто забыть выйти и позже установить модуль в неправильном каталоге. Вы также можете создать псевдоним для pipenv run , чтобы упростить ввод, например pipr .