即使我确实安装了它,venv 也找不到 python 库

时间:2021-03-28 11:23:57

标签: python virtualenv

我正在运行一台 Windows 10 机器,并且我正在开始使用虚拟环境。我想运行一个小的 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 list 似乎也表明我有我需要的东西:

(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 我的终端也不想这样做:

(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> 

0 个答案:

没有答案