我知道我安装了所有软件包(pip冻结)我在Windows 10机器上运行python3.4并且遇到了奇怪的依赖问题
test.py:
from images2gif import writeGif
from PIL import Image, ImageSequence
import os
file_names = ['output\donkey-1.png', 'output\donkey-2.png']
images = [Image.open(fn) for fn in file_names]
size = (600,350)
for im in images:
im.thumbnail(size, Image.ANTIALIAS)
filename = "test.gif"
writeGif(filename, images, duration=0.5, subRectangles=False)
Run Code Online (Sandbox Code Playgroud)
运行test.py会出现以下错误,无法在Web上的任何其他位置找到此错误
Traceback (most recent call last):
File "test.py", line 2, in <module>
from images2gif import writeGif
File "C:\Python34\lib\site-packages\images2gif\__init__.py", line 1, in <module>
from images2gif import readGif as readGif
ImportError: cannot import name 'readGif'
Run Code Online (Sandbox Code Playgroud)
小智 9
我只看了实际的存储库源代码:它使用Python 2样式相对导入.也就是说,images2gif不支持开箱即用的Python 3.
现在的一个解决方案可能是从pypi下载源文件,解压缩(不确定Windows是否喜欢tar.gz文件),cd进入目录并在其上运行2to3:
2to3 -w .
Run Code Online (Sandbox Code Playgroud)
然后手动安装:
python3.4 setup.py install
Run Code Online (Sandbox Code Playgroud)
但可能更容易,只看到结果2to3:手动更改已安装的软件包中的两个import语句(in __init__.py):
-from images2gif import readGif as readGif
-from images2gif import writeGif as writeGif
+from .images2gif import readGif as readGif
+from .images2gif import writeGif as writeGif
Run Code Online (Sandbox Code Playgroud)
因为看起来其他一切都与PY3K兼容; images2gif这两个导入语句前面的点使PY3K相对导入正确.
| 归档时间: |
|
| 查看次数: |
3131 次 |
| 最近记录: |