I am working on a Django project and using uv
as the package manager. My dependencies are managed in pyproject.toml
, and I have the following setup:
pyproject.toml (Relevant Parts)
[project]
name = "port-backend"
version = "0.1.0"
description = "Backend service for port.az"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"celery>=5.4.0",
"django==4.2",
"djangorestframework>=3.15.2",
"djangorestframework-simplejwt>=5.5.0",
"drf-spectacular>=0.28.0",
]
[dependency-groups]
dev = [
"pylint>=2.0.0",
]
[tool.pylint.MASTER]
ignore-paths = ['.venv/']
disable = [
'C0415', # Import outside toplevel
'E0401', # Import error
]
Steps Taken
I ran
uv sync
, which created a new.venv
and installed dependencies.VS Code detected the new environment and asked if I wanted to use it. I selected "Yes" and ensured the virtual environment was activated.
Running
uv run manage.py runserver
works without issues, meaning Django and Celery are installed correctly.However, running
uv run pylint .
gives these errors:
************* Module manage
manage.py:12:8: C0415: Import outside toplevel (django.core.management.execute_from_command_line) (import-outside-toplevel)
************* Module config.celery_app
config/celery_app.py:3:0: E0401: Unable to import 'celery' (import-error)
What I Have Tried
Verified that Celery is installed in the
.venv
by runninguv pip list
, andcelery
is present.Checked that the
.venv
is activated in VS Code (terminal shows(port-backend) ➜ port_backend)
.Tried running uv run python -c "import celery"—this works without errors.
Question
Why is pylint
unable to find Celery (E0401: Unable to import 'celery'
), even though Django and Celery run fine in manage.py
? How can I make pylint
recognize the installed dependencies correctly?
I am working on a Django project and using uv
as the package manager. My dependencies are managed in pyproject.toml
, and I have the following setup:
pyproject.toml (Relevant Parts)
[project]
name = "port-backend"
version = "0.1.0"
description = "Backend service for port.az"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"celery>=5.4.0",
"django==4.2",
"djangorestframework>=3.15.2",
"djangorestframework-simplejwt>=5.5.0",
"drf-spectacular>=0.28.0",
]
[dependency-groups]
dev = [
"pylint>=2.0.0",
]
[tool.pylint.MASTER]
ignore-paths = ['.venv/']
disable = [
'C0415', # Import outside toplevel
'E0401', # Import error
]
Steps Taken
I ran
uv sync
, which created a new.venv
and installed dependencies.VS Code detected the new environment and asked if I wanted to use it. I selected "Yes" and ensured the virtual environment was activated.
Running
uv run manage.py runserver
works without issues, meaning Django and Celery are installed correctly.However, running
uv run pylint .
gives these errors:
************* Module manage
manage.py:12:8: C0415: Import outside toplevel (django.core.management.execute_from_command_line) (import-outside-toplevel)
************* Module config.celery_app
config/celery_app.py:3:0: E0401: Unable to import 'celery' (import-error)
What I Have Tried
Verified that Celery is installed in the
.venv
by runninguv pip list
, andcelery
is present.Checked that the
.venv
is activated in VS Code (terminal shows(port-backend) ➜ port_backend)
.Tried running uv run python -c "import celery"—this works without errors.
Question
Why is pylint
unable to find Celery (E0401: Unable to import 'celery'
), even though Django and Celery run fine in manage.py
? How can I make pylint
recognize the installed dependencies correctly?
1 Answer
Reset to default 0You might need to set PYTHONPATH to specify your root directory (Import outside toplevel).
Create a ~/.pylintrc
file and change the /path/to/root
to your root.
[MASTER]
init-hook='import sys; sys.path.append("/path/to/root")'
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744256644a4565432.html
评论列表(0条)