创建psiturk新应用遇AttributeError:lib模块无OpenSSL_add_all_algorithms属性
解决psiturk部署Heroku时出现的
AttributeError: module 'lib' has no attribute 'OpenSSL_add_all_algorithms'错误 锁定依赖版本,确保和旧应用一致
这个错误大概率是pyOpenSSL或cryptography版本不兼容导致的,新Heroku环境默认拉取的新版本可能和psiturk存在冲突。直接从能正常运行的旧应用中复制requirements.txt的全部内容到新应用,或者手动指定兼容版本:pyOpenSSL==23.2.0 cryptography==41.0.7替换成你旧应用里实际使用的版本,避免版本差异引发问题。
清理Heroku缓存后重新部署
缓存可能残留旧的依赖文件,导致新依赖安装异常,执行以下命令:heroku repo:purge_cache -a 你的应用名称 git push heroku main核对Python版本和启动配置
- 检查
runtime.txt文件,确保指定的Python版本和旧应用完全一致,比如python-3.8.10,不同Python版本的依赖兼容性差异可能触发该错误。 - 确认
Procfile里的启动命令和旧应用相同,比如web: psiturk server on,不要随意修改启动逻辑。
- 检查
本地验证依赖环境
在本地创建虚拟环境,安装新应用的依赖包,运行psiturk测试是否出现同样错误:python -m venv venv source venv/bin/activate # Windows系统用venv\Scripts\activate pip install -r requirements.txt psiturk server on如果本地也出现错误,调整依赖版本直到本地运行正常,再推送到Heroku。
内容的提问来源于stack exchange,提问作者Fatih SOĞUKPINAR
相关产品推荐
相关产品推荐

