Pylance не удается разрешить импорт библиотек в devcontainer в LinuxPython

Программы на Python
Ответить
Anonymous
 Pylance не удается разрешить импорт библиотек в devcontainer в Linux

Сообщение Anonymous »

У меня есть проект Python в Ubuntu 24.04.1 LTS и DevContainer в VSC с Debian GNU/Linux 11, проблема в том, что Pylance помечает импортstreamlit как стандартный, при этом импорт «streamlit» не может быть разрешен. Если я запускаю приложение из терминала с помощью run myfile.py, оно работает отлично, но запуск отладчика вызывает это исключение:

Код: Выделить всё

Python path configuration:
PYTHONHOME = '/usr/local/bin'
PYTHONPATH = '/workspaces/my_project/src:/workspaces/my_project/src'
program name = '/usr/bin/python3'
isolated = 0
environment = 1
user site = 1
import site = 1
sys._base_executable = '/usr/bin/python3'
sys.base_prefix = '/usr/local/bin'
sys.base_exec_prefix = '/usr/local/bin'
sys.platlibdir = 'lib'
sys.executable = '/usr/bin/python3'
sys.prefix = '/usr/local/bin'
sys.exec_prefix = '/usr/local/bin'
sys.path = [
'/workspaces/sacbeh/src',
'/workspaces/sacbeh/src',
'/usr/local/bin/lib/python39.zip',
'/usr/local/bin/lib/python3.9',
'/usr/local/bin/lib/python3.9/lib-dynload',
]

Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'
Это мой devcontainer.json:

Код: Выделить всё

{
"build": {"dockerfile": "Dockerfile"},
"customizations": {
"vscode": {
"settings": {},
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance"
]
},
"forwardPorts": [8501],
"runArgs": ["--env-file",".devcontainer/devcontainer.env"]
}
}
Это мой Dockerfile:

Код: Выделить всё

FROM python:3.10-bullseye

COPY requirements.txt ./requirements.txt

RUN pip install oscrypto@git+https://github.com/wbond/oscrypto.git@d5f3437ed24257895ae1edd9e503cfb352e635a8

# COPY src ./src
# WORKDIR /src
RUN pip install --no-cache-dir -r requirements.txt

ENV PYTHONPATH=/workspaces/my_project/src

EXPOSE 8001
CMD ["streamlit", "run", "view/frontend/main.py"]
А это мой файл launch.json:

Код: Выделить всё

{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": true,
"env": {"PYTHONPATH": "${workspaceFolder}/src"}
},
{
"name": "Python:Streamlit",
"type": "debugpy",
"request": "launch",
"module": "streamlit",
"args": [
"run",
"${file}",
"--server.port",
"8501",
"--server.fileWatcherType",
"poll",
"--server.address",
"0.0.0.0"
],
"cwd": "${workspaceFolder}/src",
"env": {
"PYTHONPATH": "${workspaceFolder}/src",
"PYTHONHOME": "/usr/local/bin"
}
}
]
}
Я перепробовал множество конфигураций, но не нашел ни одной, которая работала бы.

Подробнее здесь: https://stackoverflow.com/questions/791 ... r-in-linux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»