s deploy --use-local -y 还是一样有问题: ImportError at / cannot import name 'etree' from 'lxml' (/code/lxml/init.py) Request Method: GET Request URL: http://testsso.schaefflercn.com/ Django Version: 3.1.7 Exception Type: ImportError Exception Value:
cannot import name 'etree' from 'lxml' (/code/lxml/init.py) Exception Location: /code/index/saml.py, line 5, in
Python Executable: /var/fc/lang/python3.9/bin/python3 Python Version: 3.9.8 Python Path:
['/code/', '/opt/python/lib/python3.9/site-packages', '/opt/python', '/var/fc/runtime/python3.9', '/var/fc/lang/python3.9/lib/python39.zip', '/var/fc/lang/python3.9/lib/python3.9', '/var/fc/lang/python3.9/lib/python3.9/lib-dynload', '/var/fc/lang/python3.9/lib/python3.9/site-packages'] Server time: Mon, 05 Sep 2022 10:15:32 +0800
当前项目下有lxml这个目录,
他会优先加载这部分。
你要是没有特殊需要,最好不要pip install -t .和s build混用。因为python的依赖加载顺序,往往会优先加载当前项目的,你这就相当于把配置到环境中的覆盖掉了,会导致问题很难排插。
你这个项目目前出问题主要是;
lxml安装的依赖不能跨平台使用,可能是因为涉及到二进制等一些编译产物
你先pip install -t .了,导致lxml这些依赖已经在当前项目下存在了,再用s build即便安装成功,配置好了环境路径,他也会优先加载你当前项目的,所以你一直报错
和-m模式没啥关系,你不管怎么-m,他都要遵循python加载的基础规范的。
此答案来自钉钉“Serverless 开发者技术学习群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。