" ModuleNotFoundError: Нет модуля с именем "jose" " ; но он уже установлен
Process SpawnProcess-9:
Traceback (most recent call last):
File "C:\Users\gveda\AppData\Local\Programs\Python\Python310\lib\multiprocessing\process.py", line 314, in _bootstrap
self.run()
File "C:\Users\gveda\AppData\Local\Programs\Python\Python310\lib\multiprocessing\process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\gveda\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\_subprocess.py", line 76, in subprocess_started
target(sockets=sockets)
File "C:\Users\gveda\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\server.py", line 60, in run
return asyncio.run(self.serve(sockets=sockets))
File "C:\Users\gveda\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Users\gveda\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 649, in run_until_complete
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "D:\Programs\FastAPI\.\Blog\main.py", line 4, in <module> from .routers import blog,user,auth
File "D:\Programs\FastAPI\.\Blog\routers\auth.py", line 3, in <module> from .. import schemas,database,models,token
File "D:\Programs\FastAPI\.\Blog\token.py", line 2, in <module>
from jose import JWTError, jwt
ModuleNotFoundError: No module named 'jose'
Я уже установил модуль python-jose, но он выдает ошибку, что есть модуль с именем jose. Из модуля jose я импортирую jwt, и его модуля нет. Почему ??
Я уже установил модули python-jose и jose отдельно, но возникает та же ошибка.
1 ответ
это распространенная ошибка, и все это связано с переменными среды. Проблема в том, что когда вы пишете в своей командной строке, она указывает на путь к определенномуpip.exe
это может бытьpython/3.9/lib/pip.exe
python/3.11/lib/pip.exe
,python/3.x/lib/pip.exe
или любая другая версия Python, установленная на вашем компьютере. Так что, вероятно, вы установили свою библиотеку с другим пипсом, чем тот, который связан с исполняемым файлом python, с которым вы вызываете свой скрипт.
Итак, либо вы меняете свои переменные среды на что-то вродеpip39
иpip311
или вы называете конкретный пункт так:
Окна
C:\WINDOWS\system32>where python
C:\Python311\python.exe
C:\Users\usr\AppData\Local\Programs\Python\Python38-32\python.exe
C:\Users\usr\AppData\Local\Microsoft\WindowsApps\python.exe
Благодаря этому мы можем найти все экземпляры Python на нашей машине.
Тогда все, что вам нужно сделать, это вызвать pip следующим образом:
C:\WINDOWS\system32>C:\Python311\python.exe -m pip install my_desired_lib
Теперь, когда вы вызываете свой скрипт, вы должны указать, какой исполняемый файл вы хотите использовать.
C:\WINDOWS\system32>C:\Python311\python.exe my_script.py
линукс
Дляwhere
использование функцииwhereis
. Кроме того, использование python такое же, поэтому вызов определенногоpip
и запуск вашего скрипта с определеннымpython.exe
та же.
Я надеюсь, что это поможет кому-то!