1

当我为我的 django_test 项目执行 python manage.py runserver 命令时,出现以下错误:

System check identified no issues (0 silenced).
June 14, 2015 - 20:43:03
Django version 1.8.2, using settings 'django_test.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 390, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py", line 49, in execute
    super(Command, self).execute(*args, **options)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 441, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py", line 88, in handle
    self.run(**options)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py", line 97, in run
    autoreload.main(self.inner_run, None, options)
  File "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py", line 323, in main
    reloader(wrapped_main_func, args, kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py", line 289, in python_reloader
    reloader_thread()
  File "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py", line 265, in reloader_thread
    change = fn()
  File "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py", line 190, in inotify_code_changed
    update_watch()
  File "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py", line 184, in update_watch
    wm.add_watch(path, mask)
  File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 1903, in add_watch
    exclude_filter)
  File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 1822, in __add_watch
    wd = self._inotify_wrapper.inotify_add_watch(self._fd, path, mask)
  File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 150, in inotify_add_watch
    return self._inotify_add_watch(fd, pathname, mask)
  File "/usr/lib/python2.7/dist-packages/pyinotify.py", line 245, in _inotify_add_watch
    return self._libc.inotify_add_watch(fd, pathname, mask)
ctypes.ArgumentError: argument 2: <type 'exceptions.TypeError'>: expected CString instance instead of c_char_Array_64

我以前从未遇到过这个问题,我的代码一直运行良好,直到我将项目从一台笔记本电脑移动到另一台笔记本电脑并且无法在此处执行它。

最初,它运行良好,但系统崩溃了,这是我第一次尝试在新机器上运行代码。我使用 virtualenv 所以我希望一切都能顺利进行,但它并没有......

是python本身的问题吗?

4

1 回答 1

1

看起来您是在新笔记本电脑上运行 python 的系统版本,而不是 virtualenv,所以它可能是一个不同的版本。您可以通过查看旧笔记本电脑和新笔记本电脑的 virtualenv 上的 Python 版本来检查这一点python --version- 我之前已经看到这种错误发生在人们身上。

你最好的选择是在新笔记本电脑上创建一个新的 virtualenv,然后重新安装你的包(希望你有一个 requirements.txt 方便)。如果您需要在新笔记本电脑上使用相同版本的 Python,则必须尝试在新笔记本电脑上安装该版本(不要覆盖系统版本!),并将您的 virtualenv 指向安装。祝你好运。

于 2015-06-14T22:52:15.200 回答