У меня есть проект Python в Ubuntu 24.04.1 LTS и DevContainer в VSC с Debian GNU/Linux 11, проблема в том, что Pylance помечает импортstreamlit как стандартный, при этом импорт «streamlit» не может быть разрешен. Если я запускаю приложение из терминала с помощью run myfile.py, оно работает отлично, но запуск отладчика вызывает это исключение:
EDIT Я сбросил образ Docker, и исключение изменилось на более простое:
/usr/bin/python3: No module named streamlit
Это мой 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@d ... b352e635a8
# 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"
}
}
]
}
Я перепробовал множество конфигураций, но не нашел ни одной, которая бы работала.
РЕДАКТИРОВАТЬ
У меня есть pylance иstreamlitng, работающие вместе на другом компьютере с VSC Dev Container поверх Windows, и они работают отлично.
Вот что я получаю с сайтом python -m:
sys.path = [
'/workspaces/sacbeh',
'/workspaces/sacbeh/src',
'/usr/local/lib/python310.zip',
'/usr/local/lib/python3.10',
'/usr/local/lib/python3.10/lib-dynload',
'/usr/local/lib/python3.10/site-packages',
]
USER_BASE: '/root/.local' (doesn't exist)
USER_SITE: '/root/.local/lib/python3.10/site-packages' (doesn't exist)
ENABLE_USER_SITE: True
Подробнее здесь: https://stackoverflow.com/questions/791 ... r-in-linux
Pylance не удается разрешить импорт библиотек в контейнере разработчика в Linux ⇐ Python
Программы на Python
1732604046
Anonymous
У меня есть проект Python в [b]Ubuntu 24.04.1 LTS[/b] и DevContainer в VSC с [b]Debian GNU/Linux 11[/b], проблема в том, что [b]Pylance [/b] помечает импортstreamlit как стандартный, при этом импорт «streamlit» не может быть разрешен. Если я запускаю приложение из терминала с помощью run myfile.py, оно работает отлично, но запуск отладчика вызывает это исключение:
[b]EDIT[/b] Я сбросил образ Docker, и исключение изменилось на более простое:
/usr/bin/python3: No module named streamlit
Это мой 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"
}
}
]
}
Я перепробовал множество конфигураций, но не нашел ни одной, которая бы работала.
[b]РЕДАКТИРОВАТЬ[/b]
У меня есть pylance иstreamlitng, работающие вместе на другом компьютере с VSC Dev Container поверх Windows, и они работают отлично.
Вот что я получаю с сайтом python -m:
sys.path = [
'/workspaces/sacbeh',
'/workspaces/sacbeh/src',
'/usr/local/lib/python310.zip',
'/usr/local/lib/python3.10',
'/usr/local/lib/python3.10/lib-dynload',
'/usr/local/lib/python3.10/site-packages',
]
USER_BASE: '/root/.local' (doesn't exist)
USER_SITE: '/root/.local/lib/python3.10/site-packages' (doesn't exist)
ENABLE_USER_SITE: True
Подробнее здесь: [url]https://stackoverflow.com/questions/79195840/pylance-failing-to-resolve-import-of-libraries-in-a-devcontainer-in-linux[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия