У меня есть 2 сайта, в том же виртуальном env, в двух разных apache VirtualHosts.manage.py syncdb использует db другого проекта в virtualenv
Когда я бегу python manage.py syncdb
, он говорит:
Creating tables ...
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
Когда я бегу python manage.py inspectdb > somefile.txt
, детали другого сайта появляются в somefile.txt
.
So python manage.py
вызывает файл /var/www/venv/proj1/manage.py
, даже если я сижу в каталоге: ``/var/www/venv/proj2/`. Любая причина, которая может вызвать это или как диагностировать это?
manage.py:
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "proj1.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
И это, как я проверил $ PYTHONPATH:
# $PYTHONPATH
-bash: /var/www/virtualenv-2.7/proj1:/var/www/virtualenv-2.7/proj2:: No such file or directory
И это .bash_profile
:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
PYTHONPATH=/var/www/virtualenv-2.7/proj2:$PYTHONPATH
PYTHONPATH=/var/www/virtualenv-2.7/proj1:$PYTHONPATH
export PYTHONPATH
export DJANGO_SETTINGS_MODULE="proj2.settings" #possibly the issue?
Не могли бы вы показать, что находится внутри этого 'manage.py'? Благодарю. – alecxe
@alecxe добавил к выше – User
Кстати, я помню, что у меня было много странных проблем, когда два виртуальных хоста apache использовали одну и ту же среду python - в основном модули на основе C начали сбой совершенно безумными способами. – alecxe