-
本次组队学习的内容以github上第二章第二节为主,具体每次的学习内容和重点已经在对应章节下的README.md中,大家忘记的可以随时取查看。 https://github.com/datawhalechina/fun-rec
-
可以先体验一下本次学习内容的成果 fun-rec项目中的新闻推荐系统开方测试了,地址:http://47.108.56.188:8686/,由于服务器比较拉胯,大家刷内容的时候可能会比较慢希望大家理解(第一次进系统尤其的慢),目前仍然可能存在一些bug,希望大家发现bug之后及时跟我们反馈呀。
-
最新的代码也已经上传到了github上面,感兴趣的可以去看看 https://github.com/datawhalechina/fun-rec
-
作者寄语:
和DWer和准DWer们一起花了近两个月实现了一个新闻推荐系统的demo,这段时间真的辛苦大家了,很多系统出问题调bug都是拉个腾讯会议讨论解决方案,包括现在每天起来的一件事就是查看一下系统挂了没有,哪里不正常。
内容虽然没有任何商业价值,但是对于还是学生的我们来说,挑战还是非常大的,需要大家一起齐心协力的合作,用现有的技术组装出一个能正常跑起来的推荐系统。
本次内容量比较多,要想更好的完成本次组队学习任务也需要每个队伍的同学互相帮助,比如大家也可以考虑分工,最后互相分享的学习。相信大家在本次的组队学习中收获的不仅仅是系统中涉及到的相关技术,还能收获到一群和自己志同道合的朋友。
最后就是我们其实也是做系统的外行,代码或者系统的逻辑肯定存在很多问题。如果大家有更好的建议,我们也可以进一步交流,互相学习。
-
Task01录屏(罗如意)
https://datawhale.feishu.cn/minutes/obcnzns778b725r5l535j32o
-
环境配置(windows)交流会议:
操作系统:Windows10 MySQL:8.0.25 Redis:5.0.14 Mongodb:5.0.5 Python:3.8
录屏: 链接:https://pan.baidu.com/s/1eggcmXP9j2Cm8Y9daNJuBA?pwd=acon 提取码:acon
-
作业分享:https://relph1119.github.io/my-team-learning/#/recommender_system32/task01
-
总结:链接:https://pan.baidu.com/s/1eggcmXP9j2Cm8Y9daNJuBA?pwd=acon 提取码:acon
-
问:在执行
Scrapy
进行新闻爬取实战的时候,写不进去mongdb
数据库答:
mongodb
安装是否成功?有没有报错之类的。问:成功安装。爬虫已经成功,我看
title content
已经有数据了答:你这里是不是什么都没有,你退出
mongo
命令行重新进入查看一下呢?问:对,我是在
windows
下做的,还是没有答:你看下这个路径是不是有问题,我这里好像忘记改成
fun-rec
的路径了,你改成fun-rec
下的路径再试试,有可能这里没有的参数没有导入进去。问:是
setting
这个表吗?答:你看看,应该是数据库那块的参数配置有问题。
问:
setting
在,在settings
里面固化了的。答:你这个代码是不是很早之前就下载的。嗷,想起来了。文档里面的内容没改。不过应该不影响。
问:就是开课的时候下载的。
答:不过应该不影响,代码你是自己单独写呢?还是运行的
fun-rec
下的code代
码?你检查下pipline下面,看参数配置是否有问题,写一点print查看一下,然后在这里单独使用insert
方法插入点东西查看是否有问题。问(解决):找到问题了,在
copy piplines
文件的时候,def
类没有对齐。 -
问:
linux
一般软件安装都放在哪个目录下面啊?是usr/local
吗?答:这个看自己的习惯
-
问:出现跨域问题如何解决?
答:还需要启动
snowflaske
服务,启动代码为:snowflake_start_server --address=127.0.0.1 --port=8910 --dc=1 --worker=1
-
问:如何修改redis配置?
答:https://blog.csdn.net/qq_39007083/article/details/105083156
-
问:
stop-writes-on-bgsave-error no
报错答:这个可能和安装有关
-
问:服务没启动问题
答:对,需要安装,启动这个服务,已经加入到文档中。
-
问:
redis key
的问题如何处理? -
问:
No module named 'conf.dao_config'
没有正确识别包,怎么办?答1:看一下自己的路径是不是正确导入了,有可能跟系统有关,需要自己调整一下。
答2:这个问题,我遇到过,直接执行sh,在Windows下会出现,目前采用手动执行py脚本方式。
答:嗯嗯,我也先手动。
答:查到解决方法了,把出问题的地方
sys.path.append("")
换成sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
就可以了 -
问:是否可能在教程中强调一下
node
版本的约束?前端部分很多dependency
较老,比如node-sass
包在较新node
环境会编译错误。答:直播时强调了,
linux
最好用项目目录下的那个node
版本 -
问:
linux
时间是2021-7-20。结果redis用make编译的时候提示创建不完善(我是windows下的redis文件传到linux,结果显示安装文件是未来的文件)答:
clock screw
问题可以通过touch修正一下错误的文件时间就可以了 -
问:在终端执行:
snowflake_start_server [--dc=DC_ID] [--worker=WORKER_ID] [--host=ADDRESS] [--port=PORT]
,报错显示-bash: snowflake_start_server:
未找到命令,怎么解决。答:看一下是否安装呢?运行的时候没有带参数吗?
问:带了参数,是
snowflake_start_server --address=127.0.0.1 --port=8910 --dc=1 --worker=1
答:检查
path
里面是否有user site
,试一试这个指令export PATH=$PATH:"$(python3.8 -c 'import site; print(site.USER_BASE)')/bin"
答:有反应了,可以修复,谢谢。
-
问:如何手动爬取信息?
答:手动方式,文档中有写,直接运行单独的py脚本即可。
https://docs.scrapy.org/en/latest/topics/settings.html#download-delay
-
问:请问
pip install
的报错如何改正答:指令修改为:
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install
问:还是不行,有两条指令只报了
warning
,装完之后npm install
还是会报找不到python
和pemition deny
答:把
node modules
删掉重新用cnpm装一下试试,代码如下:npm install rimraf -g
rimraf node_modules
问:还是报
python
错误,经过面向搜索引擎开发,有提到用sudo
,但是发现还是不行,实际原因是由于用的是root
账户权限执行npm
,而npm
默认是不适用root
权限创建内容,因此会出现权限问题而导致失败,加上参数--unsafe-perm=true --allow-root
即可解决问题。答:步骤是:首先要装
py2
:apt install python2
。然后换cnpm
:npm install -g cnpm --registry=https://registry.npm.taobao.org
,cnpm install
。然后删掉modules
:npm install rimraf -g
,rimraf node_modules
。然后root用户的话npm install --production --unsafe-perm=true --allow-root
。非root:sudo npm install
-
问:TODO: 设置开机自启动 启动mongodb(服务器断电之后就会断开链接): sudo ./mongod --dbpath=/usr/local/mongodb/data/ --fork --logpath=/usr/local/mongodb/log
TODO: 设置开机自启动 启动redis redis-server --daemonize yes --port 6378 --requirepass 123456 redis-cli --raw
./mongod 这个是在哪里的?
答:就是你安装的mongdb的目录下面的bin文件里面的东西,你得看一下是安装到哪里了,找到对应的可执 行 脚本就行。
问:没有userinfo这个库是否需要先建库?
答:需要。表的话代码里面有这块的内容,会自动构建。你可以先测试sqlalchemy
是否可以正常创建表。
-
问:
sh: 1: webpack-dev-server: not found
,开启前端服务报这个错答:
cnpm install
一下就好了 -
问:外网访问的这个,除了设置
main.js
里的axios.defaults.baseURL = "http://服务i去公网ip:3000"
,然后防火墙开3000
端口和8686
端口之外还有什么要设置的么答:
flask 0.0.0.0
、vue 0.0.0.0
和外网访问
-
问:跨域问题是啥意思?
答:https://blog.csdn.net/qq_38128179/article/details/84956552
-
问:为什么我的项目都启动了,用户也注册成功了,但是
datagrip
里面MongoDB
下没有那两个数据库,mysql
两个数据库下面没有对应的表?答:数据库,右键刷新一下就出来了
问:都有了,反应有点慢
-
问:加载比较慢怎么办?
答:如果初始化就很慢的话可以把
router.js
里引入component
的方式换成component: () => import('./components/recLists.vue')
,会快一点点 -
问:为什么这一次运行
process_user.py
会报错,没这表啊?看报错好像是语法格式的问题。答:数据库版本问题
-
问:关于服务:
答:服务器从
8686
发送html
到browser
渲染和执行代码,本地browser
向服务器3000
端口发送请求,所以后端服务器要bind
到0.0.0.0
保证公网可以访问。 -
问:
Datagrip
连接mongodb
之后数据库显示current database is not introspected
可能是什么原因导致的?答:不用管,如果没有数据,这个库是不会显示的。
-
问:运行后端
server
遇到过这个报错吗?答:重新安装下
cryptography
这个包问:还是不行
答:有可能包冲突导致的,重建一个本地python环境
-
问:爬虫的时候报
cryptography
的错误,但是后端server
服务是可以开启的,是什么原因?答:
pip install -l cryptography == 35.0.0
可以解决。