当我在项目根目录中的文件夹下运行脚本时,pip install--editable如何更改python路径?
我有一个用FastApi构建的项目。本项目的结构如下(简化): 我使用虚拟环境安装项目:当我在项目根目录中的文件夹下运行脚本时,pip install--editable如何更改python路径?,python,python-3.x,pip,Python,Python 3.x,Pip,我有一个用FastApi构建的项目。本项目的结构如下(简化): 我使用虚拟环境安装项目: cd src python -m venv ./venv pip install -r requirements.txt -r requirements.dev.txt 当我从src/运行python app/main.py时,它会引发一个异常: ModuleNotFoundError:没有名为“app”的模块 通过使用git进行调查,我发现在一个旧版本中,我使用其他指令安装依赖项: cd src pyt
cd src
python -m venv ./venv
pip install -r requirements.txt -r requirements.dev.txt
当我从src/
运行python app/main.py
时,它会引发一个异常:
ModuleNotFoundError:没有名为“app”的模块
通过使用git进行调查,我发现在一个旧版本中,我使用其他指令安装依赖项:
cd src
python -m venv ./venv
pip install -e . -r requirememts.dev.txt
我用-e
复制了pip安装,它再次工作。我还将这些行添加到main.py
:
import sys
print(sys.path)
发现结果是不同的,结果如下:
使用pip安装-r
python应用程序/main.py
['D:\\Projects\\myproject\\src\\app',
'D:\\Projects\\myproject\\src\\venv',
'D:\\Projects\\myproject\\src\\venv\\lib\\site packages',…]
回溯(最近一次呼叫最后一次):
文件“app/main.py”,第7行,在
从app.config导入设置
ModuleNotFoundError:没有名为“app”的模块
使用pip安装-e
python应用程序/main.py
['D:\\Projects\\myproject\\src\\app',
'D:\\Projects\\myproject\\src\\venv',
'D:\\Projects\\myproject\\src\\venv\\lib\\site packages',
'd:\\projects\\myproject\\src',…]
为什么会发生这种情况
import sys
print(sys.path)
> python app/main.py
['D:\\Projects\\myproject\\src\\app',
'D:\\Projects\\myproject\\src\\venv',
'D:\\Projects\\myproject\\src\\venv\\lib\\site-packages', .....]
Traceback (most recent call last):
File "app/main.py", line 7, in <module>
from app.config import settings
ModuleNotFoundError: No module named 'app'
> python app/main.py
['D:\\Projects\\myproject\\src\\app',
'D:\\Projects\\myproject\\src\\venv',
'D:\\Projects\\myproject\\src\\venv\\lib\\site-packages',
'd:\\projects\\myproject\\src', ....]
<... Fast api & uvicorn logs here>