django south:通往django的道路存在问题

django south:通往django的道路存在问题,django,django-south,Django,Django South,当我尝试使用south时,该问题会导致此错误: $ python manage.py schemamigration You must provide an app to create a migration for. $ python manage.py schemamigration myapp --initial OSError: [Errno 13] Permission denied: '../myapp/migrations' $ sudo python manage.py sche

当我尝试使用south时,该问题会导致此错误:

$ python manage.py schemamigration
You must provide an app to create a migration for.
$ python manage.py schemamigration myapp --initial
OSError: [Errno 13] Permission denied: '../myapp/migrations'
$ sudo python manage.py schemamigration myapp --initial
ImportError: No module named django.core.management
$ python
>>> import south
>>> import django.core.management
>>> south.__file__
'/home/mydev/venv/lib/python2.7/site-packages/south/__init__.pyc'
>>> django.__file__
'/home/mydev/venv/lib/python2.7/site-packages/django/__init__.pyc'
在我看来,
manage.py schemamigration
生成了一条错误消息,该消息似乎是由
schemamigration
返回的。但是
schemamigration
和其他south命令一旦被调用就找不到django

“/home/mydev/venv/lib/python2.7/site packages/”
位于我的sys.path上。
/south
文件夹是指向实际south软件包的sim链接,该软件包位于
/dist-packages
文件夹中。我确实在实际的
/south
文件夹中放了一个sim卡链接回到django软件包,但这并没有解决任何问题


可能有什么问题?

问题是由于权限和使用virtualenv造成的。由于当前用户没有此项目的写入权限,因此出现“权限被拒绝”错误

您可以更改整个项目的权限,并使您成为项目中所有文件和文件夹的所有者

sudo chown -R <username>:<username> <project_folder>
sudo chown-R:
当您尝试使用sudo运行迁移时,无法找到django包,因为它位于已由普通用户激活的virtualenv中。如果你不想更改权限,我想这些步骤应该可以解决这个问题

sudo -i
source /<virtualenv_path>/bin/activate
sudo-i
来源//bin/激活
这将激活virtualenv for sudo,现在您可以访问virtualenv中的所有软件包


我认为您应该选择权限方式

根据我的经验,当您的
设置.py
文件出现问题时,似乎会出现此问题。。。不过,我不知道该怎么做。我猜
south
在您安装的应用程序中?你能告诉我更多关于你的设置吗?Django在您的
PYTHONPATH
中吗(我假设是这样,因为您可以导入它,但是…?
south
在我的settings.py文件中。关于设置,您还想了解什么?我调试它的第一步是1)创建一个新的virtualenv,2)安装south,3)看看south是否可以对项目中的应用程序做些什么。在步骤3,
south
给出了上述错误。这些步骤之后的问题与这些步骤之前的问题相同。是否有理由不在虚拟环境中安装south?我确实在虚拟环境中安装了southenv@Cole答案对您有帮助吗?问题是“vsftpd”对某些文件的所有权。我尝试将用户添加到此组,但该解决方案无效。你的第一个建议很有效。我不得不用sudo。哦,是的,忘了加sudo,很高兴它有用