You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

虚拟环境中无法创建Django超级用户的权限问题求助

问题描述
  • 激活虚拟环境后执行命令:
    (VENV) user@server:/var/www/html/django-apps/GT1$ python manage.py createsuperuser
    
    报错信息:
    Traceback (most recent call last):
      File "/var/www/html/django-apps/GT1/manage.py", line 11, in main
        from django.core.management import execute_from_command_line
    ModuleNotFoundError: No module named 'django'
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
        File "/var/www/html/django-apps/GT1/manage.py", line 22, in <module>
            main()
        File "/var/www/html/django-apps/GT1/manage.py", line 13, in main
            raise ImportError(
    ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable?
    
  • 使用sudo pip install django时,提示Django已安装在系统路径/usr/local/lib/python3.10/dist-packages,而非虚拟环境内
  • 卸载系统Django后,在/var/www下用sudo创建的GT_Dev1虚拟环境中安装Django时,遭遇权限错误
解决步骤

1. 修复虚拟环境权限

虚拟环境由sudo创建导致当前用户无读写权限,执行以下命令调整所有者:

# 替换为你的虚拟环境实际路径
sudo chown -R $USER:$USER /var/www/python_envs/GT_Dev1

2. 重新激活虚拟环境并安装Django

# 激活虚拟环境
source /var/www/python_envs/GT_Dev1/bin/activate
# 安装指定版本Django(不要加sudo)
pip install django==4.2.2

验证安装路径是否在虚拟环境内:

pip show django

输出的Location字段应指向虚拟环境目录下的site-packages文件夹。

3. 验证功能正常

回到项目目录执行命令,确认可创建超级用户:

python manage.py createsuperuser

4. 后续注意事项

  • 禁止使用sudo在虚拟环境内执行pip命令,否则包会被安装到系统路径而非虚拟环境
  • 若需在/var/www下创建项目或虚拟环境,先给当前用户赋予目录权限:
    sudo chown -R $USER:$USER /var/www/html/django-apps
    
    后续无需sudo即可操作,避免权限冲突

内容的提问来源于stack exchange,提问作者dchammer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 15:48:32