Bootcamp: 在 Windows 中安装

创建于 2017-12-19  ·  14评论  ·  资料来源: vitorfs/bootcamp

你好,

我安装在我的 Windows 电脑上,但出现此错误:

python manage.py migrate

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\__init__.py", line 347, in execute
    django.setup()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\apps\registry.py", line 112, in populate
    app_config.import_models()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\apps\config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\allan\Documents\progetti\bootcamp\bootcamp\activities\models.py", line 14, in <module>
    class Activity(models.Model):
  File "C:\Users\allan\Documents\progetti\bootcamp\bootcamp\activities\models.py", line 26, in Activity
    user = models.ForeignKey(User)

TypeError: __init__() missing 1 required positional argument: 'on_delete'

image

image

当我失去时间时,我想帮助某些功能。

Support help wanted question

所有14条评论

这个错误发生在django==2.0时,此时Bootcamp与该版本的Django不兼容。 请删除它并安装以前的版本,django==1.11.x 可以正常工作。

早上好@sebastian-code ,

我已经降级了 django,但现在出现以下错误:

Traceback (most recent call last):
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 213, in ensure_connection
    self.connect()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 189, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\sqlite3\base.py", line 198, in get_new_connection
    conn = Database.connect(**conn_params)
sqlite3.OperationalError: unable to open database file

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\commands\migrate.py", line 83, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\migrations\executor.py", line 20, in __init__
    self.loader = MigrationLoader(self.connection)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\migrations\loader.py", line 52, in __init__
    self.build_graph()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\migrations\loader.py", line 209, in build_graph
    self.applied_migrations = recorder.applied_migrations()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\migrations\recorder.py", line 65, in applied_migrations
    self.ensure_schema()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\migrations\recorder.py", line 52, in ensure_schema
    if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 254, in cursor
    return self._cursor()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 229, in _cursor
    self.ensure_connection()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 213, in ensure_connection
    self.connect()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\utils\six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 213, in ensure_connection
    self.connect()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 189, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\sqlite3\base.py", line 198, in get_new_connection
    conn = Database.connect(**conn_params)
django.db.utils.OperationalError: unable to open database file

image

嗨@Allan-Nava 看来你的数据库有问题,服务器无法与数据量建立连接,你是怎么做的?

嗨@sebastian-code,是我的第一个带有个人电脑窗口的 django 应用程序。 我应该怎么办?

这取决于您如何使用数据库。 我个人使用 Docker,但你可以使用 PostgreSQL 的本地实例,也许挂载一个联网的数据库服务器,或者某种虚拟机。 还有一个比在本地使用 SQLite 更简单的选择。

我想尝试在本地使用 SQLite

为此,使用 URL 格式使用格式正确的 SQLite 数据库地址在.env文件中定义DATABASE_URL变量。 您可以在env.example文件中找到一个示例。

我使用具有相同配置的 .env :

# PostgreSQL conf
# POSTGRES_PASSWORD=mysecretpass
# POSTGRES_USER=my_super_user
# POSTGRES_DB=bootcamp
# DATABASE_URL=postgresql://my_super_user:[email protected]:5432/bootcamp

# Main environmental variables
DEBUG=True
SECRET_KEY=s3cr3t_key
ALLOWED_HOSTS=*
# URL to have SQLite example and to pass TravisCI
DATABASE_URL=sqlite:////bootcamp/db.sqlite3
# URL for Redis
# REDIS_URL=redis://redis_ip_address:port

我有同样的错误:

C:\Users\allan\Documents\progetti\bootcamp>python manage.py migrate
Traceback (most recent call last):
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 213, in ensure_connection
    self.connect()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 189, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\sqlite3\base.py", line 198, in get_new_connection
    conn = Database.connect(**conn_params)
sqlite3.OperationalError: unable to open database file

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\commands\migrate.py", line 83, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\migrations\executor.py", line 20, in __init__
    self.loader = MigrationLoader(self.connection)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\migrations\loader.py", line 52, in __init__
    self.build_graph()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\migrations\loader.py", line 209, in build_graph
    self.applied_migrations = recorder.applied_migrations()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\migrations\recorder.py", line 65, in applied_migrations
    self.ensure_schema()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\migrations\recorder.py", line 52, in ensure_schema
    if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 254, in cursor
    return self._cursor()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 229, in _cursor
    self.ensure_connection()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 213, in ensure_connection
    self.connect()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\utils\six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 213, in ensure_connection
    self.connect()
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\base\base.py", line 189, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\allan\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\sqlite3\base.py", line 198, in get_new_connection
    conn = Database.connect(**conn_params)
django.db.utils.OperationalError: unable to open database file

image

那是因为地址是错误的方式。 对于 SQLite,Django 需要 SQLite 文件在硬盘中的物理位置,以 URI 格式表示。

@sebastian-code 谢谢,它有效!

image

你如何使用 django 1.11 这个命令pip install -U -r requirements/local.txt

我解决了谢谢!

2018-01-12 11:17 GMT+01:00 jackengine [email protected]

你如何通过这个命令使用 django 1.11 pip install -U -r
要求/本地.txt


您收到此消息是因为您修改了打开/关闭状态。
直接回复本邮件,在GitHub上查看
https://github.com/vitorfs/bootcamp/issues/138#issuecomment-357199201
或静音线程
https://github.com/notifications/unsubscribe-auth/AVdMg5tftf9BMLRv8opKHg_ngou7E-Zpks5tJzE2gaJpZM4RHiIY
.

@sebastian-code 我在 pip 缓存中有 django 2.x。 现在我如何在运行此命令时强制 pip 使用 django 1.9 pip install -U -r requirements/local.txt

@jackengine最简单的方法是执行命令,一旦安装,手动删除包,然后再次安装django,但声明你想要的特定版本。 我的建议是不要使用 django v1.9,它太旧了,我建议使用 django 1.11,它是 LTS。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Allan-Nava picture Allan-Nava  ·  9评论

mwanjajoel picture mwanjajoel  ·  5评论

ssahilsahil798 picture ssahilsahil798  ·  5评论

phamminhtris picture phamminhtris  ·  12评论

sebastian-code picture sebastian-code  ·  11评论