相关疑难解决方法(0)

让PIL/Pillow 4.2.1正确上传到AWS Lambda Py3.6

背景

在过去的几天里,我一直在努力部署使用Pillow的Lambda,而我正在使用Python 3.6进行部署.值得注意的是,我正在Windows 10环境中开发它.

第一次尝试

我开始通过执行以下操作将pip安装在我的工作区中严格安装:

pip3 install pillow -t "D:\Work and Projects\...\...\<projectdir>\pillow"
Run Code Online (Sandbox Code Playgroud)

我有其他软件包,并尝试在同一庄园中安装软件包,其中一个特别是praw,我这样做:

pip3 install praw -t "D:\Work and Projects\...\...\<projectdir>\praw"
Run Code Online (Sandbox Code Playgroud)

在将我的项目内容压缩到一起之后,我将我的包上传到Lambda并在第一次测试时收到错误:

无法导入模块'motw_lambda':无法导入名称'_imaging'

然后,我移除了Pillow包,试图查看这个问题源于哪里(Pillow或praw或其他一个包).删除Pillow后,执行成功.然后我在pillow包中删除了包并尝试:

pip3 install pillow -t "D:\Work and Projects\...\...\<projectdir>\PIL"
Run Code Online (Sandbox Code Playgroud)

pip3 install pillow -t "D:\Work and Projects\...\...\<projectdir>\Pillow"
Run Code Online (Sandbox Code Playgroud)

但是与包有同样的错误'_imaging'.

进一步尝试

然后我按照这个资源的指示和这个.我也尝试过使用virualenv甚至是lambda-uploader.

奇怪的是,我得到了同样的错误!我在这里都没有选择,感觉我正在做一些愚蠢的事情,或者目前在Lambda-Python3.6上这是不可能的(虽然我无法想象其他人没有在py3.6-中使用过枕头lambda还......)

任何信息,帮助或通用资源将不胜感激!

python python-imaging-library pillow aws-lambda

12
推荐指数
4
解决办法
4254
查看次数

如何透明地重定向Python导入?

我正在寻找一种方法来模拟Python导入的符号链接.我希望能够在不复制文件的情况下就地解压缩以下文件夹结构:

root
?? python_lib
?  ?? my_utils
?     ?? __init__.py
?     ?? etc.py
?? app1
?? app2
?? app3
   ?? lib
   ?  ?? __init__.py
   ?  ?? my_utils.py
   ?? run.py
Run Code Online (Sandbox Code Playgroud)

app3/run.py 包含这个:

from lib.my_utils import etc

etc.pancakes()
Run Code Online (Sandbox Code Playgroud)

我想要使​​用etc位于的代码python_lib/my_utils/.有什么我可以放入,app3/lib/my_utils.py以便Python> = 3.1将透明地导入python_lib/my_utils/文件夹(使用相对路径和..),子包也将工作?

python python-import

8
推荐指数
2
解决办法
3402
查看次数