![](/img/trans.png)
[英]Python cannot find LibTIFF library, even though LibTIFF is already installed
[英]venv cannot find python library even though I definitely have it installed
我正在運行 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 列表似乎也表明我有我需要的東西:
(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 中運行它時,命令 output 什么都沒有:
(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>
我絕對推薦使用python3 -m pip
而不是純pip
。 它可能會為您節省一些頭痛。 原因:當我使用pip
在venv
虛擬環境中安裝新軟件包時,它們最終出現在我的操作系統環境中! 但只需使用python3 -m pip
就可以了。
為了確保從您的虛擬環境中調用包,您可以使用python3 -m PACKAGE_NAME
而不是PACKAGE_NAME
。 例如, flower
在我的虛擬環境中不起作用,但python3 -m flower
沒有問題。
可以直接詢問python
是從哪里執行的:試試這個:
>>> import sys
>>> print(sys.executable)
/PATH/TO/VENV/bin/python
>>> print(sys.version)
'3.10.5 (main, Jun 6 2022, 18:49:26) [GCC 12.1.0]'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.