Erik hoeven
Erik hoeven

Reputation: 1600

Python uvicorn : The term 'uvicorn' is not recognized as the name of a cmdlet, function, script file

Good evening,

I am using python 3.9 and try to run a new FastAPI service on Windows 10 Pro based on the documentation on internet https://www.uvicorn.org/ i executed the following statements

pip install uvicorn pip install uvicorn[standard]

create the sample file app.py

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}

But when i run the code below :

uvicorn main:app --reload


uvicorn : The term 'uvicorn' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify t
hat the path is correct and try again.
At line:1 char:1
+ uvicorn
+ ~~~~~~~
    + CategoryInfo          : ObjectNotFound: (uvicorn:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

I also add the path of Python in the envroment settings

I also re-install Python 3.9 and make the default path for installation to c:\ProgramFiles\Python39 this path is also include now in the system enviroment and user enviroment settings.

enter image description here

if i run pip install uvicorn again it shows the following statement:

λ pip install uvicorn
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: uvicorn in c:\users\username\appdata\roaming\python\python39\site-packages (0.12.2)
Requirement already satisfied: h11>=0.8 in c:\users\username\appdata\roaming\python\python39\site-packages (from uvicorn) (0.11.0)
Requirement already satisfied: click==7.* in c:\users\username\appdata\roaming\python\python39\site-packages (from uvicorn) (7.1.2)
WARNING: You are using pip version 20.2.3; however, version 20.2.4 is available.
You should consider upgrading via the 'c:\program files\python39\python.exe -m pip install --upgrade pip' command.

Many thanks

Erik

Upvotes: 28

Views: 90816

Answers (6)

guangqiang lu
guangqiang lu

Reputation: 59

I have faced the same problem when using a virtual environment in Windows, so the easiest to solve this problem is in the terminal typing with python -m uvicorn main:app --reload after already activate that environment with activate xxx. This is working!

Upvotes: 1

Erik hoeven
Erik hoeven

Reputation: 1600

Python installs it's scripts in the scripts folder at the following path: c:\users\username\appdata\roaming\python\python39\scripts
Place that path in the system and user environment variable. This will solve the problem.

Upvotes: 11

Ramin Azali
Ramin Azali

Reputation: 283

I Have The Same Problem and Found i dont Activate my Virtual Environment

After Activating Virtual Environment uvicorn Example:app --reload Worked For me

Maybe The Problem is so simple Like This

Upvotes: 4

lux7
lux7

Reputation: 2150

You can also run uvicorn with the following command:

python -m uvicorn main:app --reload

Upvotes: 82

Prince Prashant saini
Prince Prashant saini

Reputation: 51

first, you have to run

virtualenv env

then install code

pip install fastapi uvicorn

Upvotes: 5

Ognyan Dimitrov
Ognyan Dimitrov

Reputation: 6251

Try this one

pip uninstall uvicorn

then

pip install --user uvicorn

This literarily solved the same problem on my machine.

Upvotes: 0

Related Questions