项目场景:

使用比较新版本的青龙面板安装DailyCheckIn




问题描述:

按照dailycheckin的青龙教程进行安装依赖步骤报错如下

root@ql:/ql $ apk add --no-cache gcc g++ python python-dev py-pip mysql-dev linux-headers libffi-dev openssl-dev
...
ERROR: unable to select packages:
  python (no such package):
    required by: world[python]
  python-dev (no such package):
    required by: world[python-dev]

然后再pip3安装dailycheckin提示报错如下

    dailycheckin 0.1.0 depends on cryptography~=3.2.1
    dailycheckin 0.0.9 depends on cryptography~=3.2.1
    dailycheckin 0.0.8 depends on cryptography~=3.2.1
    dailycheckin 0.0.7 depends on cryptography~=3.2.1
    dailycheckin 0.0.6 depends on cryptography~=3.2.1
    dailycheckin 0.0.5 depends on cryptography~=3.2.1
    dailycheckin 0.0.4 depends on cryptography~=3.2.1

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
 



原因分析:

从第一个报错知道apk包管理器的软件源里没有python、python-dev的安装包,
导致后面一系列的报错




解决方案:

方案一:改用python3

青龙面板一般自带有python3的环境,不需另外装python3,故直接删掉命令行的python。

将安装依赖的命令行里的python删掉,然后python-dev改成python3-dev,如下

apk add --no-cache gcc g++ python3-dev py-pip mysql-dev linux-headers libffi-dev openssl-dev

然后继续安装dailycheckin即可

pip3 install dailycheckin --upgrade

方案二:修改apk软件源(不推荐)

修改apk软件源的文件

vi /etc/apk/repositories

就会显示如下

root@ql:/ql $ vi /etc/apk/repositories
https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.14/main
https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.14/community
~
~
~
~
- /etc/apk/repositories 1/2 50%

这里可看到 v3.14 ,也有人可能会用的是 latest-stable (稳定版本)。

退出vi,先按Esc键,然后输入 :q  ,然后回车即可退出

这些版本的源没有python以及python-dev,它们在v3.4老版本才有,但是我对比了下版本,

从v3.4版本后,python改名成python2了,所以其实并不用改源,直接改用python2即可。

如果还是想改源的话,改源版本如下:

改版本,v3.14替换成你自己通过vi查询到的apk源版本

sed -i 's/v3.14/v3.4/g' /etc/apk/repositories

更新apk索引以生效

apk update

然后重新按照DailyCheckIn安装依赖步骤执行即可


参考文献

排名不分先后

青龙 - DailyCheckIn (gitee.io)

whyour/qinglong: 定时任务管理面板 (github.com)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐