考虑到IDC多机房,大量资产管理起来比较麻烦,于是便想上平台,在github上看到django-idcops还不错,但是没有详细的安装步骤,于是整理了下搭建过程,以及过程中遇到的问题。
git地址 :https://github.com/Wenvki/django-idcops
环境:
系统:Centos7.6
PY:python3.8.2
文章目录:
一、python安装及设置
二、环境设置
三、拉取git代码
安装过程中遇到的问题参考附录1
一、python安装及设置
1、py安装
wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz
然后进目录编译安装
mkdir /usr/local/python3
./configure --prefix=/usr/local/python3
make && make install
2、pip源更换
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip install --upgrade pip
# 豆瓣
https://pypi.doubanio.com/simple/
# 阿里云
https://mirrors.aliyun.com/pypi/simple/
# 清华大学
https://pypi.tuna.tsinghua.edu.cn/simple/
https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
二、环境设置
添加软链接:
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python
修改yum配置
vi /usr/bin/yum
#!/usr/bin/python" 改为 "#!/usr/bin/python2.7"
三、拉取git代码
git clone https://gitee.com/wenvki/django-idcops.git idcops cd idcops/ virtualenv -p /usr/local/python3/bin/python3 env ###virtualenv安装:pip install virtualenv source env/bin/activate pip install -U pip -i https://mirrors.aliyun.com/pypi/simple/ pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ ###如果出现django版本报错,检查python版本,必须要是python3 python manage.py migrate
python manage.py runserver 0.0.0.0:8000
附录1
问题:ModuleNotFoundError: No module named '_sqlite3'
yum安装sqlite3.so的库
yum install sqlite*
然后重新编译安装 python3
问题:make migrate时出现报错,
把/idcops/idcops/migrations 目录删掉,然后重新 python manage.py migrate
(env) [root@localhost mysite]# python manage.py migrate
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/root/mysite/env/lib/python3.8/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "/root/mysite/env/lib/python3.8/site-packages/django/core/management/__init__.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/root/mysite/env/lib/python3.8/site-packages/django/core/management/base.py", line 316, in run_from_argv
self.execute(*args, **cmd_options)
File "/root/mysite/env/lib/python3.8/site-packages/django/core/management/base.py", line 353, in execute
output = self.handle(*args, **options)
File "/root/mysite/env/lib/python3.8/site-packages/django/core/management/base.py", line 83, in wrapped
res = handle_func(*args, **kwargs)
File "/root/mysite/env/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 82, in handle
executor = MigrationExecutor(connection, self.migration_progress_callback)
File "/root/mysite/env/lib/python3.8/site-packages/django/db/migrations/executor.py", line 18, in __init__
self.loader = MigrationLoader(self.connection)
File "/root/mysite/env/lib/python3.8/site-packages/django/db/migrations/loader.py", line 49, in __init__
self.build_graph()
File "/root/mysite/env/lib/python3.8/site-packages/django/db/migrations/loader.py", line 273, in build_graph
raise exc
File "/root/mysite/env/lib/python3.8/site-packages/django/db/migrations/loader.py", line 247, in build_graph
self.graph.validate_consistency()
File "/root/mysite/env/lib/python3.8/site-packages/django/db/migrations/graph.py", line 243, in validate_consistency
[n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
File "/root/mysite/env/lib/python3.8/site-packages/django/db/migrations/graph.py", line 243, in <listcomp>
[n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
File "/root/mysite/env/lib/python3.8/site-packages/django/db/migrations/graph.py", line 96, in raise_error
raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration idcops.0001_initial dependencies reference nonexistent parent node ('auth', '0011_update_proxy_permissions')