即使我已经安装了python库,venv也找不到它

2024-09-28 19:30:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我运行的是一台Windows10机器,我开始玩虚拟环境。我想运行一个小的fastapi应用程序

我创建了这样一个venv:

python -m venv venv 

然后,我激活了venv,并安装了两个依赖项:

(venv) PS C:\Users\Ask\python_Projects\garse_dockerAPI\app> pip install fastapi

(venv) PS C:\Users\Ask\python_Projects\garse_dockerAPI\app> pip install unicorn

这似乎很好,运行pip列表似乎也表明我有我需要的:

(venv) PS C:\Users\Ask\python_Projects\garse_dockerAPI\app> pip list           
Package           Version
----------------- ---------
beautifulsoup4    4.9.3    
certifi           2020.6.20
cffi              1.14.3
chardet           3.0.4
crypto            1.4.1
cryptography      3.1.1
cycler            0.10.0
fastapi           0.63.0
idna              2.10
myModule          1.0.0
Naked             0.1.31
pip               21.0.1
pycparser         2.20
pycrypto          2.6.1
pydantic          1.8.1
PyYAML            5.3.1
requests          2.24.0
setuptools        49.2.1
shellescape       3.8.1
six               1.15.0
soupsieve         2.0.1
starlette         0.13.6
typing-extensions 3.7.4.3
unicorn           1.0.2
urllib3           1.25.10
wheel             0.35.1

但当我运行我的程序时,它会因导入fastapI而失败:

(venv) PS C:\Users\Ask\python_Projects\garse_dockerAPI\app> python .\main.py 
Traceback (most recent call last):
  File "C:\Users\Ask\python_Projects\garse_dockerAPI\app\main.py", line 3, in <module>
    from fastapi import FastAPI

此外,运行python my terminal也不想这样做:

(venv) PS C:\Users\Ask\python_Projects\garse_dockerAPI\app> python 
Python 3.9.0 (tags/v3.9.0:9cf6752, Oct  5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import fastapi
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'fastapi'

发生什么事了?为什么我没有所需的依赖关系

编辑:

为了在我的机器上找到安装,我在我的普通终端上运行了“where python”:

C:\Users\Ask>where python
C:\Users\Ask\AppData\Local\Programs\Python\Python39\python.exe
C:\Users\Ask\AppData\Local\Microsoft\WindowsApps\python.exe

这给了中小企业两条不同的道路。我真的不知道如何处理这些信息? 在pip处运行:

C:\Users\Ask>where pip
C:\Users\Ask\AppData\Local\Programs\Python\Python39\Scripts\pip.exe

当我在我的venv中运行它时,命令根本不输出任何内容:

(venv) PS C:\Users\Ask\python_Projects\garse_dockerAPI\app> where pip
(venv) PS C:\Users\Ask\python_Projects\garse_dockerAPI\app> where python
(venv) PS C:\Users\Ask\python_Projects\garse_dockerAPI\app> 

Tags: pipappvenvlocalwhereexeusersappdata