三明市网站建设_网站建设公司_Node.js_seo优化
2025/12/18 23:32:29 网站建设 项目流程

Doccano是什么?
Doccano是一个开源的文本标记工具,专为自然语言处理(NLP)任务设计,支持文本分类、序列标注、序列到序列(如翻译或摘要)等任务的数据标注。其界面简洁,支持多人协作,适合构建高质量的标注数据集。

然而在当前的Doccano版本下,许多其依赖的package的版本与之不兼容,也就导致直接安装的Doccano无法使用,本文总结了笔者成功安装的经验,希望可以帮助到广大网友~
————————————————
版权声明:本文为CSDN博主「敲起小键盘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/haolovelemonade/article/details/149206732
github官方: https://github.com/doccano/doccano?tab=readme-ov-file

本文建立在初学者对于python项目线上化的需求之上,实现多人异地同步方便协作的需求

话不多说,教程如下qwq

1. 找一个租赁服务器网站(如腾讯云,阿里云,华为云等等)

这里以腾讯云为例,对于这种体量较小,不需要在复杂环境下的小作坊,租用"轻量应用服务器"足以;
另外,关于登录的设置,为了方便起见,凡是需要验证登录的直接选用"扫描二维码"的方式,方便快捷

2. 配置服务器环境

a. 基础配置
直接选用初始推荐模版,腾讯云自带了 宝塔面板 ,不需要额外配置[这里偷懒就不放图片了]

b. python 环境配置

点击 该卡片进入 宝塔面板
image


点击"登录"进入到宝塔面板(方便管理更为详细的环境),后续的操作也基本上都在该面板上(2025/12/18,面板可以自动登录,不用记忆账号密码)
image
(第一次登录会要求设置基本的配置,如图所示,直接选用默认推荐的即可
来源:
[https://www.bilibili.com/video/BV1vG411E7d6/?spm_id_from=333.1391.0.0&vd_source=898d565c0b158368489736c62200ffdc]
)
image

下一步就可以去 应用商店 搜索 python项目管理器 并安装

image

需安装Python 3.9及以上版本(此处选择Python 3.12)

接下来单独创建一个python环境,方便管理,防止隐患冲突等等
到下面的界面操作
image

记住新建的python环境的文件路径(一般在/www/server/pyporject_evn)
点击图中"文件夹"图标的按键来到具体位置可以看看

source /www/server/pyporject_evn/my_doccano_env/bin/activate

使用上面的指令在终端中进入该python环境(不同环境代码路径不一样,结尾应该都是activate)
回到腾讯云的宝塔卡片点击"登录"进入到bash输入,显示如图即成功
image
接下来都在该环境下操作(都带前面的括号(my_doccano_env))

3. doccano的安装,以及踩坑...

之后操作类似于传统的本地部署,参见下文博主
https://blog.csdn.net/haolovelemonade/article/details/149206732

如果没有 pip 工具的话
在 OpenCloudOS 上,通常可以通过系统包管理器 yum 来安装 pip3

sudo yum install python3-pip -y
pip3 --version

验证...
如果成功,它会显示 pip 的版本号
接下来安装doccano

pip3 install doccano
#先看后文的踩坑再看下面的操作
# 1. 初始化数据库(这会在当前目录生成一个 SQLite 数据库文件)
doccano init
(一般情况下这个操作会失败,需要把 marshmello 删掉重下兼容版本)
(之后 doccano task 操作也会报错)
# 2. 创建超级用户,请务必记住你设置的用户名和密码
doccano createuser --username 你的管理员用户名 --password 你的密码 --email 你的邮箱(可选项)# 3. 在第一个终端,启动 Web 服务器(默认端口 8000):
doccano webserver --port 8000# 4. 在第二个终端,启动后台任务处理器(处理文件导入等异步任务):
doccano task

踩坑记:

问题1:初始化&创建用户时出现marshmallow的version问题报错——marshmallow版本兼容问题

image
报错现象:运行doccano init命令时,出现与marshmallow版本相关的报错,>提示module 'marshmallow' has no attribute 'version_info'。
原因:marshmallow库版本过高,与Doccano不兼容。
解决办法:卸载当前版本,安装兼容的3.0.0版本:
pip uninstall marshmallow
pip install marshmallow==3.0.0(或者3.7.0)
————————————————
版权声明:本文为CSDN博主「敲起小键盘」的原创文章,遵循CC 4.0 BY-SA版>权协议,转载请附上原文出处链接及本声明。
原文链接:>https://blog.csdn.net/haolovelemonade/article/details/149206732


问题2:
执行doccano task启动后台任务时遇到了核心的numpy二进制兼容性错误

核心错误信息是:
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
本质上是因为numpy和panda在服务器上的版本编译问题,细节不再详细讨论
不应该费劲去编译不兼容的 pandas 2.x。正确的做法是:直接安装 >doccano 所要求的、预编译好的 pandas 1.x 版本。

# 1. 首先,卸载任何可能导致冲突的包(非必须,但建议)
pip3 uninstall -y pandas numpy# 2. 安装明确兼容的版本组合(这是最关键的一步):
#    先安装指定版本的 numpy
pip3 install numpy==1.26.4
#    再安装 doccano 所要求的 pandas 1.x 版本。‘<2.0’
pip3 install "pandas<2.0"# 3. 安装另一个已知的、必须的兼容包
pip3 install marshmallow==3.0.0# 4. (可选) 如果上一步安装的 pandas 版本低于1.4.2,可以强制安装一个符合要求的版本,例如:
># pip3 install "pandas>=1.4.2,<2.0"

安装完成后,使用以下命令验证版本:
pip3 list | grep -E "numpy|pandas|marshmallow|doccano"
你应该能看到类似以下的输出,版本都在要求范围内:
text
doccano 1.8.4
marshmallow 3.0.0
numpy 1.26.4
pandas 1.5.3 # 注意:这里的版本号必须是 1.x

4. 服务器后台持续运行

启动 Web 服务器:

nohup doccano webserver --port 8000 > webserver.log 2>&1 &

命令解释:

nohup:使命令忽略挂断信号(SSH断开时不会终止)。

webserver.log:将程序的标准输出重定向到 webserver.log 文件。
2>&1:将标准错误也重定向到标准输出(即同一个日志文件)。
&:让命令在后台运行。

启动后台任务处理器(需要另一个终端或新SSH连接):

nohup doccano task > task.log 2>&1 &

检查服务是否在运行:

ps aux | grep -E "doccano webserver|doccano task" | grep -v grep

你应该看到两类相关的进程信息。


第三步:配置远程网络访问(关键!)
这是让你的团队能从本地电脑访问服务器上Doccano的关键步骤。必须完成以下两项配置。

配置服务器防火墙(如果使用firewalld)
OpenCloudOS通常使用 firewalld。执行以下命令开放端口(例如8000):

sudo firewall-cmd --permanent --add-port=8000/tcp
sudo firewall-cmd --reload

5. 验证端口是否开放

sudo firewall-cmd --list-ports | grep 8000

配置腾讯云安全组(防火墙)
这是最重要且最容易被忽略的一步,必须在腾讯云控制台完成:
(在宝塔面板上有类似的界面,但好像设置了没效果,还得咋腾讯云控制台完成)

找到你的服务器实例,点击进入详情页。
找到 “防火墙” 选项卡(有时叫“安全组”)。
点击 “添加规则”,按以下填写:

类型:自定义

协议:TCP

端口:8000(如果你换了端口,请填写实际使用的端口)

源:0.0.0.0/0(允许所有IP访问,适合测试)

点击 “确定” 保存规则。

测试方法
Windows 上验证端口的几种方法
方法一:直接使用浏览器(最推荐,直接验证服务)
这是最直接有效的方法,因为它模拟了你团队成员的访问方式。
在你的 Windows 电脑上,打开 Chrome、Edge 或 Firefox 浏览器。
在地址栏中输入 Doccano 的完整访问地址:
http://你的公网ip:8000

如果成功:你会看到 Doccano 的登录界面。

如果失败:你会看到“无法访问此网站”、“连接已重置”或“该网页无法正常运作”等错误。

方法二:使用 PowerShell 内置命令
Windows PowerShell 内置了强大的网络测试工具,无需安装。
在 Windows 搜索框输入 “PowerShell”,右键选择 “以管理员身份运行”。
输入以下命令并按回车:

Test-NetConnection -ComputerName 119.45.133.158 -Port 8000

查看结果:

如果显示 TcpTestSucceeded : True,nice

如果显示 TcpTestSucceeded : False,则说明连接失败,需要回头检查防火墙和安全组。

方法三:(不推荐)安装并使用 curl for Windows
其实你在服务器上可以用这个,已经内置了属于是
如果你习惯命令行工具,可以安装 curl。
下载 curl:访问 curl for Windows 官网 下载。
使用 curl 测试:打开命令提示符或 PowerShell,输入:

curl -v http://你的公网ip(通俗叫网址):8000

如果看到类似 HTTP/1.1 200 OK 的响应(还有html界面),表示成功。
如果长时间无响应或提示连接失败,则表示端口不通


下面是成功界面

image

后续的管理就需要在你的专用python环境(my_doccano_env)下进行操作了

doccano createuser --username 你的管理员用户名 --password 你的密码

多次使用上面的指令创建多人账号

本次教程到此结束,bye~

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询