【发布时间】:2022-01-15 15:00:57
【问题描述】:
我已将.venv 安装到我的python 项目中。我已经激活它,然后根据要求安装:
python -m venv .ven
.\.ven\Scripts\activate
pip3 install -r requirements.txt
当我运行pip3 list 时,我看到所有软件包都已安装。然而,当我尝试运行我的应用程序时,我看到:
Traceback (most recent call last):
File "d:/Projekty/_Python/therobertseye/app.py", line 1, in <module>
from website import create_app
File "d:\Projekty\_Python\therobertseye\website\__init__.py", line 1, in <module>
from flask import Flask
ModuleNotFoundError: No module named 'flask'
在我的 _init.py 中:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from os import path
from flask_login import LoginManager
但它不仅是Flask - 当我出于测试目的删除时:
from flask import Flask
然后当我再次运行时,我看到了:
Traceback (most recent call last):
File "d:/Projekty/_Python/therobertseye/app.py", line 1, in <module>
from website import create_app
File "d:\Projekty\_Python\therobertseye\website\__init__.py", line 1, in <module>
from flask_sqlalchemy import SQLAlchemy
ModuleNotFoundError: No module named 'flask_sqlalchemy'
意味着我的包裹都不可见。看起来 venv 中的库不可见?怎么解决?
我通过 python3.8.exe app.py 从 app.py 运行我的项目
app.py:
from website import create_app
app = create_app()
if __name__ == '__main__':
app.run(debug=True)
编辑: 正如 @np8 所述,这两个命令都适用于本地:
python app.py
.\.ven\Scripts\python.exe app.py
不过,当部署在 Azure 上时,我在日志中出现错误:
021-12-11T10:11:56.228062960Z from website.Barcode import Barcode
2021-12-11T10:11:56.228068661Z File "/tmp/8d9bc8c8ae34714/website/Barcode.py", line 2, in <module>
2021-12-11T10:11:56.228074361Z import cv2
2021-12-11T10:11:56.228079661Z File "/tmp/8d9bc8c8ae34714/antenv/lib/python3.8/site-packages/cv2/__init__.py", line 8, in <module>
2021-12-11T10:11:56.228085161Z from .cv2 import *
2021-12-11T10:11:56.228090161Z ImportError: libGL.so.1: cannot open shared object file: No such file or directory
2021-12-11T10:11:56.228096061Z [2021-12-11 10:11:56 +0000] [41] [INFO] Worker exiting (pid: 41)
2021-12-11T10:11:56.497660146Z [2021-12-11 10:11:56 +0000] [39] [INFO] Shutting down: Master
2021-12-11T10:11:56.497793247Z [2021-12-11 10:11:56 +0000] [39] [INFO] Reason: Worker failed to boot.
/home/LogFiles/2021_12_11_10-30-0-5_docker.log
【问题讨论】:
-
你如何运行你的项目?在相同情况下运行项目之前激活venv?
-
@AliIrani 我运行我的项目运行 app.py - 请参阅我附上的主要帖子。 python3.8.exe app.py。 venv 似乎已激活,我在终端中看到它
-
您能否将以下解决方案添加到您的代码中,以查看运行项目时安装了哪些软件包?在
app.py文件中添加导入create_app的代码。 stackoverflow.com/a/23885252/10910984 -
将
import sys; print(sys.executable)添加到您的 scipt 顶部,以查看您是否真的在使用.ven文件夹中的 python.exe。 -
@np8 它显示:C:\Users\Robert\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\python.exe 我该如何解决?
标签: python pip python-venv