3.2.0的API更改¶
行为改变¶
减少的默认值 rcParams["axes.formatter.limits"]
(default: [-5, 6]
)¶
更改了默认值 rcParams["axes.formatter.limits"]
(default: [-5, 6]
) 从-7,7到-5,6以提高可读性。
(Source code _, png , pdf )

matplotlib.colorbar.Colorbar
所有可映射轴的规范化使用¶
Before 3.0, matplotlib.colorbar.Colorbar
(colorbar
) normalized
all axes limits between 0 and 1 and had custom tickers to handle the
labelling of the colorbar ticks. After 3.0, colorbars constructed from
mappables that were not contours were constructed with axes that had
limits between vmin
and vmax
of the mappable's norm, and the tickers
were made children of the normal axes tickers.
此版本的Matplotlib将其扩展到由等高线生成的可映射图,并允许轴在等高线的最低边界和最高边界之间运行。
需要修改在0和1之间正常化的代码。
MovieWriterRegistry
¶
MovieWriterRegistry
现在总是在返回writer类之前检查它们的可用性。例如,如果希望获得第一个可用的writer,而不必对后续的writer执行可用性检查,那么现在可以遍历registry,从而得到可用类的名称。
自标定¶
Matplotlib用于在每次打印后重新计算自动缩放的限制 (plot()
, bar()
等等)打电话。现在,它只在实际渲染画布时,或当用户查询轴限制时才这样做。这是对有大量艺术家的情节的一个重大改进。
特别是,这意味着艺术家手动添加 Axes.add_line
, Axes.add_patch
,等将被自动缩放考虑在内,即使没有显式调用 Axes.autoscale_view
.
在某些情况下,这可能导致报告不同的限值。如果这是一个问题,考虑触发与 fig.canvas.draw()
.
对于基于 Collection
班级。以前,计算自动限制的方法 Collection.get_datalim
尝试将集合中对象的大小考虑在内,并使限制足够大,以不剪辑任何对象,即 Axes.scatter
这会使限制足够大,不至于在散布中剪掉任何标记。当在物理空间或图形相对空间中指定对象大小时,这是有问题的,因为从物理单位到数据限制的转换需要知道数据限制,并且在应用新的限制时将变得无效。这是一个理论上可以解决的反问题(如果对象在物理上比轴小),但是额外的复杂性并不值得,特别是最常见的用例是分散中的标记,这些标记通常很小,可以由默认的数据限制边距容纳。
虽然新行为在算法上更简单,但它取决于 Collection
对象:
offsets = None
,transform
是的孩子Axes.transData
:使用自动限制的路径(即LineCollection
在里面Axes.streamplot
)offsets != None
和offset_transform
是的子项Axes.transData
:
transform
是的子项Axes.transData
使用path + offset
对于- 限制(即
Axes.bar
)
transform
不是的孩子Axes.transData
:只需使用偏移量- 限制(即分散)
- 否则返回null
Bbox
.
虽然这看起来很复杂,但逻辑上只是使用数据空间中对象的信息来限制,而不是物理单位中的信息。
日志比例尺()/hist()自动限制¶
中的自限计算 bar
和 hist
当轴已经使用对数标度已更改以匹配计算时,在调用后将轴切换为对数比例 bar
和 hist
打电话时 bar(..., log=True)
/ hist(..., log=True)
:如果至少有两个不同的条形图高度,则向其添加法线轴边距(按对数刻度);如果只有一个条形图高度,则将其周围的轴限制展开一个数量级,然后应用轴边距。
跨越多行/列的轴标签¶
Axes.label_outer
现在正确地保持x标签和记号标签对于跨越多行的轴可见,只要它们覆盖轴网格的最后一行。(这与保持y标签和记号标签对于跨越多个列的轴可见是一致的,只要它们覆盖轴网格的第一列)
这个 Axes.is_last_row
和 Axes.is_last_col
方法现在正确地为跨越多行的轴返回True,只要它们分别覆盖最后一行或最后一列。这同样与覆盖第一行或第一列的轴的行为一致。
这个 Axes.rowNum
和 Axes.colNum
不推荐使用属性,因为它们只引用轴覆盖的第一个网格单元。相反,使用新的 ax.get_subplotspec().rowspan
和 ax.get_subplotspec().colspan
属性 range
对象,该对象指示子批所覆盖的行和列的整个范围。
(请注意,这里提到的所有方法和属性实际上只存在于 Subplot
亚类 Axes
,用于栅格定位轴,但不用于直接在绝对坐标系中定位的轴。)
这个 GridSpec
班级获得 nrows
和 ncols
属性作为返回的参数的更显式同义词 GridSpec.get_geometry
.
定位器¶
当超过 Locator.MAXTICKS
滴答声的行为 Locator.raise_if_exceeds
从引发RuntimeError更改为以警告级别发出日志。
非奇异定位器¶
Locator.nonsingular
(在mpl 3.1中介绍), DateLocator.nonsingular
和 AutoDateLocator.nonsingular
现在返回一个范围 v0, v1
具有 v0 <= v1
. 这种行为与 nonsingular
由 LogLocator
和 LogitLocator
子类。
get_data_ratio
¶
Axes.get_data_ratio
现在在计算y-x比之前,考虑轴的比例(线性、对数、对数等)。这一改变允许固定方面应用于任何x和y刻度的组合。
艺术家粘边¶
以前, sticky_edges
艺术家的属性是一个值列表,这样如果轴限制与粘滞边重合,它将不会被轴边距扩展(这是一种防止在图像周围添加页边距的机制)。
sticky_edges
现在对页边距的应用有一个额外的影响:即使轴的限制与粘滞边不一致,它也不能 交叉 一个通过边距应用程序的粘滞边缘——相反,边距只会扩展轴限制,直到它碰到粘滞边缘为止。
此更改提高了显示 streamplot
:
- 如果流图一直延伸到向量场的边缘,则轴限制将被设置为与向量场限制完全匹配(而它们有时会因为之前的小浮点错误而关闭)。
- 如果流图没有到达矢量场的边缘(例如,由于使用
start_points
和maxlength
),则边距扩展将不再跨越向量场限制。
这种变化也用于内部,以确保极坐标图不会显示为负数 r 值,除非用户真的传入负值。
gid
在svg输出中¶
以前,如果一个人物,轴心,传说或其他艺术家有一个习惯 gid
设置(例如通过 .set_gid()
),这不会反映在svg输出中。而是默认的gid,比如 figure_1
会显示出来的。现在这是固定的,例如。 fig.set_gid("myfigure")
正确地显示为 <g id="myfigure">
在svg文件中。如果依赖于gid具有默认格式,那么现在需要确保不设置 gid
艺术家的参数。
字体¶
现在,在尝试匹配字体名称中的子字符串之前,先检查FT_STYLE_BOLD_标志是否存在。特别是,这意味着,时代新罗马粗体现在被正确地检测为粗体,而不是正常的重量。
像颜色一样的检查¶
matplotlib.colors.is_color_like
用于为浮点的所有字符串表示返回True。但是,只有值在0-1之间的颜色才是有效颜色(表示灰度值)。 is_color_like
现在返回False表示0-1外的浮点字符串。
默认图像插值¶
在Matplotlib中显示的图像以前使用最近邻插值,导致了向下缩放和非整数向上缩放的混叠效果。
的新默认值 rcParams["image.interpolation"]
(default: 'antialiased'
) 新选项是“抗锯齿”。 imshow(A, interpolation='antialiased')
在中重新采样以供显示(或保存到文件)时将应用汉宁过滤器 if 上采样率小于因子3,而不是整数;下采样的数据在重采样时总是平滑的。
要改变以前的行为,就要 rcParams["image.interpolation"]
(default: 'antialiased'
) 到旧的默认值“最近”(或指定 interpolation
克沃格 Axes.imshow
)
要始终获得消除混叠行为,无论上/下采样率如何,请设置 rcParams["image.interpolation"]
(default: 'antialiased'
) 到“汉宁”(或其他可用的过滤器之一)。
请注意,选择“hanning”过滤器是因为它的性能损失不大。反走样可以用其他过滤器改进。
RCPARAMS¶
使用时 RendererSVG
具有 rcParams["svg.image_inline"] == True
,外部写入的图像现在使用单个计数器,即使 renderer.basename
属性被重写,而不是每个basename一个计数器。
只有当你使用 rcParams["svg.image_inline"] = True
(默认为False) and 手动修改 renderer.basename
.
更改了默认值 rcParams["axes.formatter.limits"]
(default: [-5, 6]
) 从-7,7到-5,6以提高可读性。
add_subplot()
¶
Figure.add_subplot()
和 pyplot.subplot()
不接受 图形 关键字参数了。它只在传递的数字是 self
或者是现在的数字。
indicate_inset()
¶
在<=3.1.0中, indicate_inset
和 indicate_inset_zoom
被记录为返回 ConnectionPatch
,实际上他们返回了一个4长度的列表。
它们现在正确返回4元组。 indicate_inset
如果可选的 inset_ax 未提供;它现在成功完成,并返回 None 而不是 ConnectionPatch
.
PGF后端¶
pgf后端的get_canvas_width_height现在以显示单位返回画布大小,而不是以前那样以英寸为单位。考虑到 get_canvas_width_height
在代码库的其余部分。
pgf后端现在包括使用 \includegraphics
而不是 \pgfimage
如果 graphicx
最近足以支持 interpolate
选项(自动检测)。
测试¶
默认情况下,测试套件不再打开Python错误处理程序。制定标准 PYTHONFAULTHANDLER
这样做的环境变量。
后端 supports_blit
¶
后端不需要显式定义标志 supports_blit
不再。这只与后端开发人员相关。后端必须定义标志 supports_blit
. 这不再需要了,因为现在可以自动检测到blitting功能。
异常更改¶
引发 ValueError
如果输入错误,请立即提高 TypeError
而是: backend_bases.GraphicsContextBase.set_clip_path
, blocking_input.BlockingInput.__call__
, cm.register_cmap
, dviread.DviFont
, rcsetup.validate_hatch
, rcsetup.validate_animation_writer_path
, spines.Spine
,许多班级 matplotlib.transforms
模块和 matplotlib.tri
包和Axis方法 norm
参数。
如果将额外的kwargs传递给 LogScale
, TypeError
现在将被提高而不是 ValueError
.
mplot3d自动注册¶
mpl_toolkits.mplot3d
现在总是默认注册。不再需要导入mplot3d来创建具有以下内容的三维轴:
ax = fig.add_subplot(111, projection="3d")
SymLogNorm
现在有一个 base 参数¶
以前, SymLogNorm
没有 base 关键字参数和基被硬编码为 base=np.e
. 这与的默认行为不一致 SymmetricalLogScale
(默认为 base=10
)以及文档中“十年”一词的使用。
为了准备将默认基数更改为10,调用 SymLogNorm
没有新的 base 关键字参数发出弃用警告。
贬抑¶
matplotlib.use
¶
这个 warn
参数到 matplotlib.use()
已弃用(捕获 ImportError
在后端交换机发生故障时发出,如果需要,请自己重新发出警告)。
绘图文件¶
.pyplot.plotfile
不赞成单独加载和绘制数据。使用pandas或NumPy加载数据,使用pandas或matplotlib绘制结果数据。
轴和轴¶
设置 Axis.major.locator
, Axis.minor.locator
, Axis.major.formatter
或 Axis.minor.formatter
对象不是的子类 Locator
或 Formatter
(分别)已弃用。注意,这些属性通常应该使用 Axis.set_major_locator
, Axis.set_minor_locator
,等,当传递错误类的对象时,已引发异常。
将多个位置参数或不受支持的关键字参数传递给 axis()
已弃用(这种参数过去通常被静默忽略)。
minor
参数将仅成为关键字¶
使用参数 minor
到 get_*ticks()
/ set_*ticks()
因为不推荐使用位置参数。它将成为关键字只在未来的版本。
axes_grid1
¶
这个 mpl_toolkits.axes_grid1.colorbar
模块及其colorbar实现被弃用,取而代之的是 matplotlib.colorbar
,因为前者基本上已被放弃,而后者则是一个更具特色的替代品,使用了一个几乎兼容的API(例如,支持以下附加关键字: panchor
, extendfrac
, extendrect
)
主要区别在于:
- 通过调用
colorbar.set_ticks
而不是colorbar.cbar_axis.set_xticks
或colorbar.cbar_axis.set_yticks
;locator
参数到colorbar()
反对使用它的同义词ticks
(以前已经存在,并且与matplotlib.colorbar
) - 使用访问colorbar的长轴
colorbar.xaxis
或colorbar.yaxis
取决于方向,而不是colorbar.cbar_axis
. - 默认的股票代码不再是
MaxNLocator(5)
但A_ColorbarAutoLocator
. - 在单个轴上重叠绘制多个颜色条(例如,当使用
cax
属性ImageGrid
元素)不受支持;如果先前依赖于在第一个颜色条上绘制第二个颜色条,则可以调用cax.cla()
在绘制第二个颜色条之前清除轴。
在折旧期间 mpl_toolkits.legacy_colorbar
rcParam可以设置为True以使用 mpl_toolkits.axes_grid1.colorbar
在里面 mpl_toolkits.axes_grid1
带有不推荐警告的代码(默认),或设置为False以使用 matplotlib.colorbar
.
通过A pad
尺寸 None
(默认)作为零的同义词 append_axes
, new_horizontal
和 new_vertical
方法 axes_grid1.axes_divider.AxesDivider
已弃用。在将来的版本中,默认值 None
意思是“使用 rcParams["figure.subplot.wspace"]
(default: 0.2
) 或 rcParams["figure.subplot.hspace"]
(default: 0.2
) “(取决于方位)。显式传递 pad=0
保持原来的行为。
Axes3D公司¶
mplot3d.axis3d.get_flip_min_max
被贬低。
axes3d.unit_bbox
已弃用(使用 Bbox.unit
相反)。
axes3d.Axes3D.w_xaxis
, .w_yaxis
和 .w_zaxis
已弃用(使用 .xaxis
, .yaxis
和 .zaxis
相反)。
斧头艺术家¶
mpl_toolkits.axisartist.grid_finder.GridFinderBase
已弃用(它的唯一用途是由 GridFinder
类,它只是在构造函数中提供更多默认值并直接设置转换,因此 GridFinderBase
的方法被转移到 GridFinder
)
axisartist.axis_artist.BezierPath
已弃用(使用 patches.PathPatch
绘制任意路径)。
AxisArtist.line
现在是 patches.PathPatch
实例而不是 BezierPath
实例。
从axisartist定位器返回一个等于None的因子(它们是 not 与“标准”记号定位器相同),或将等于“无”的因子传递给axisartist格式化程序(它们是 not 与“标准”记号格式化程序相同)已弃用。传递一个等于1的因子。
对于 mpl_toolkits.axisartist.axis_artist.AttributeCopier
类、构造函数和 set_ref_artist
方法,以及 default_value 参数 get_attribute_from_ref_artist
,已弃用。
弃用构造函数意味着继承自 AttributeCopier
不应再调用其构造函数。
定位器¶
未使用的 Locator.autoscale
方法已弃用(将轴限制传递给 Locator.view_limits
相反)。
动画¶
的以下方法和属性 MovieWriterRegistry
类已弃用: set_dirty
, ensure_not_dirty
, reset_available_writers
, avail
.
smart_bounds()
¶
不推荐使用“智能边界”功能。这包括 Axis.set_smart_bounds()
, Axis.get_smart_bounds()
, Spine.set_smart_bounds()
和 Spine.get_smart_bounds()
.
boxplot()
¶
设置 whis
参数 Axes.boxplot
和 cbook.boxplot_stats
将“range”设置为“the whole data range”是不推荐使用的;将其设置为(0,100)(它被解释为百分位),以达到相同的效果。
fill_between()
¶
向参数传递标量 在哪里? 在里面 fill_between()
和 fill_betweenx()
已弃用。虽然文件已经声明 在哪里? 尺寸必须与 x (或) y ),标量被接受并广播到 x . 不匹配的大小将引发 ValueError
未来。
tight_layout()
¶
这个 renderer
参数到 Figure.tight_layout
已弃用;此方法现在始终使用缓存在 Figure
.
RCPARAMS¶
这个 rcsetup.validate_animation_writer_path
函数已弃用。
设置 rcParams["savefig.format"]
(default: 'png'
) to“auto”已弃用;请改用其同义词“png”。
设置 rcParams["text.hinting"]
(default: 'force_autohint'
) totrue或False是不推荐的;使用它们的同义词“auto”或“none”。
rcsetup.update_savefig_format
被贬低。
rcsetup.validate_path_exists
已弃用(使用 os.path.exists
检查路径是否存在)。
rcsetup.ValidateInterval
被贬低。
日期¶
dates.mx2num
被贬低。
TK¶
NavigationToolbar2Tk.set_active
已弃用,因为它没有(可观察的)效果。
WX¶
FigureFrameWx.statusbar
和 NavigationToolbar2Wx.statbar
已弃用。可以通过调用标准wx方法来检索状态栏 (frame.GetStatusBar()
和 toolbar.GetTopLevelParent().GetStatusBar()
)
backend_wx.ConfigureSubplotsWx.configure_subplots
和 backend_wx.ConfigureSubplotsWx.get_canvas
被贬低。
FigureCanvas¶
FigureCanvasBase.draw_cursor
(它从未做过任何事情,也从未在任何后端重写过)被弃用。
FigureCanvasMac.invalidate
反对使用它的同义词, FigureCanvasMac.draw_idle
.
这个 dryrun
参数 FigureCanvasFoo.print_foo
方法已弃用。
箭袋钥匙文件¶
quiver.QuiverKey.quiverkey_doc
不赞成;使用 quiver.QuiverKey.__init__.__doc__
相反。
matplotlib.mlab
¶
mlab.apply_window
和 mlab.stride_repeat
被贬低。
字体¶
font_manager.JSONEncoder
已弃用。使用 font_manager.json_dump
倾倒 FontManager
实例。
font_manager.createFontList
被贬低。 font_manager.FontManager.addfont
现在可以在给定路径注册字体。
这个 as_str
, as_rgba_str
, as_array
, get_width
和 get_height
方法 matplotlib.ft2font.FT2Image
已弃用。转换 FT2Image
到一个带有 np.asarray
在处理之前。
颜色¶
函数 matplotlib.colors.makeMappingArray
不再被视为公共API的一部分。因此,它被弃用了。
不推荐使用单字符颜色字符串作为颜色序列(例如“rgb”)。改用显式列表。
规模¶
将不支持的关键字参数传递给 ScaleBase
,及其子类 LinearScale
和 SymmetricalLogScale
,已弃用,将引发 TypeError
在3.3中。
如果额外的关键字参数传递给 LogScale
, TypeError
现在将被提高而不是 ValueError
.
测试¶
这个 matplotlib.testing.disable_internet
模块已弃用。使用(例如) pytest-remotedata 相反。
支持 matplotlib.testing
for-nose-based tests被弃用(如果在1)matplotlib的conftests未被调用和2)nose处于 sys.modules
)
testing.is_called_from_pytest
被贬低。
在弃用期间,若要强制生成鼻根测试,请先导入鼻。
这个 switch_backend_warn
参数到 matplotlib.test
没有效果,已弃用。
testing.jpl_units.UnitDbl.UnitDbl.checkUnits
被贬低。
DivergingNorm
renamed to TwoSlopeNorm
¶
DivergingNorm
was a misleading name; although the norm was
developed with the idea that it would likely be used with diverging
colormaps, the word 'diverging' does not describe or evoke the norm's
mapping function. Since that function is monotonic, continuous, and
piece-wise linear with two segments, the norm has been renamed to
TwoSlopeNorm
误码率¶
matplotlib.get_home
已弃用(例如。 os.path.expanduser("~")
相反。
matplotlib.compare_versions
已弃用(使用 distutils.version.LooseVersion
而不是s)。
matplotlib.checkdep_ps_distiller
被贬低。
matplotlib.figure.AxesStack
被视为私有API,在将来的版本中将从公共API中删除。
BboxBase.is_unit
已弃用(如果需要,请检查Bbox扩展数据块)。
Affine2DBase.matrix_from_values(...)
已弃用。使用(例如) Affine2D.from_values(...).get_matrix()
相反。
style.core.is_style_file
和 style.core.iter_style_files
被贬低。
这个 datapath
RCPARAM¶
使用 get_data_path
相反。(rcParam已弃用,因为最终用户无法对其进行有意义的设置。)rcParam在3.2.0中没有任何效果,但仅在3.2.1中被弃用。3.2.1+如果 'datapath'
设置在 matplotlibrc
文件将被尊重,但此行为将在3.3中删除。
移除¶
这个 matplotlib.testing.determinism
未公开公共API的模块已被删除。
已删除以下API元素:
backend_gtk3.PIXELS_PER_INCH
backend_pgf.re_escapetext
,backend_pgf.re_mathdefault
.- 这个
matplotlib.backends.tkagg
,matplotlib.backends.windowing
,matplotlib.backends.wx_compat
和matplotlib.compat.subprocess
模块 RcParams.msg_depr
,RcParams.msg_depr_ignore
,RcParams.msg_depr_set
,RcParams.msg_obsolete
,RcParams.msg_backend_obsolete
afm.parse_afm
(使用)afm.AFM instead
)axes.Axes.mouseover_set
backend_cairo.ArrayWrapper
,backend_cairo.RendererCairo.convert_path
backend_gtk3.FileChooserDialog.sorted_filetypes
(使用)sorted(self.filetypes.items())
相反)backend_pgf.get_texcommand
backend_pdf.PdfFile.texFontMap
backend_ps.get_bbox
backend_qt.FigureCanvasQt.keyAutoRepeat
(useevent.guiEvent.isAutoRepeat
instead),backend_qt.error_msg_qt
,backend_qt.exception_handler
backend_wx.FigureCanvasWx.macros
backends.pylab_setup
cbook.Bunch
(usetypes.SimpleNamespace
instead),cbook.Locked
,cbook.unicode_safe
,cbook.is_numlike
(useisinstance(..., numbers.Number)
instead),cbook.mkdirs
(useos.makedirs(..., exist_ok=True)
instead),cbook.GetRealpathAndStat
(usecbook.get_realpath_and_stat
instead),cbook.listFiles
container.Container.set_remove_method
contour.ContourLabeler.cl
,contour.ContourLabeler.cl_xy
,contour.ContourLabeler.cl_cvalues
(使用)labelTexts
,labelXYs
,labelCValues
相反)dates.DateFormatter.strftime
,dates.DateFormatter.strftime_pre_1900
font_manager.TempCache
,font_manager.FontManager.ttffiles
,font_manager.FontManager.afmfiles
mathtext.unichr_safe
(使用)chr
相反)patches.YAArrow
(使用)patches.FancyArrowPatch
相反)sphinxext.plot_directive.remove_coding
table.Table.get_child_artists
testing.compare.compare_float
,testing.decorators.CleanupTest
,testing.decorators.ImageComparisonTest
,testing.decorators.skip_if_command_unavailable
,支持基于鼻子的测试text.Annotation.arrow
(使用)text.Annotation.arrow_patch
相反)textpath.TextToPath.tex_font_map
ticker.Base
,ticker.closeto
,ticker.nearest_long
axes_grid1.axes_divider.LocatableAxesBase
,axes_grid1.axes_divider.locatable_axes_factory
,axes_grid1.axes_divider.Axes
(使用)axes_grid1.mpl_axes.Axes
取而代之的是,axes_grid1.axes_divider.LocatableAxes
(使用)axes_grid1.mpl_axes.Axes
相反)axisartist.axes_divider.Axes
,axisartist.axes_divider.LocatableAxes
(使用)axisartist.axislines.Axes
相反)- 这个
normed
克瓦格hist
(使用)density
相反) - 这个
verts
参数到scatter
(使用)marker
相反) - 经过
(verts, 0)
或(..., 3)
指定标记以分别指定路径或圆时(改为使用verts
或"o"
分别为) rcParams["examples.directory"]
以下成员 matplotlib.backends.backend_pdf.PdfFile
已删除:
nextObject
nextFont
nextAlphaState
nextHatch
nextImage
alphaStateObject
这个 required_interactive_framework
Matplotlib 3.0中引入的后端模块的属性已移动到 FigureCanvas
类,以便让第三方canvas子类继承它,并更容易知道canvas类需要什么样的交互框架。
backend_qt4.FigureCanvasQT5
,它是的别名 backend_qt5.FigureCanvasQT
(但只存在于 backend_qt4
),已被删除。
发展变化¶
Windows内部版本¶
以前,在构建 matplotlib._png
扩展时,构建脚本将向扩展添加“png”和“z” .libraries
属性(如果pkg配置信息不可用,在Windows上尤其如此)。
特别是,这意味着Windows构建将查找名为 png.lib
和 z.lib
;但默认情况下,libpng upstream和zlib upstream都不提供这些文件。(在Linux上,这可以查到 libpng.so
和 libz.so
,这确实是标准名称。)
相反,在Windows上,我们现在可以查找 libpng16.lib
和 zlib.lib
哪一个 are 共享库的上游名称(从libpng 1.6.x开始)。
对于静态链接的构建,上游名称是 libpng16_static.lib
和 zlibstatic.lib
;如果需要这样的构建,仍然需要手动重命名它们。
打包DLL¶
以前,通过将Windows dll复制到源树中并设置 package_data.dlls
报关进口 setup.cfg
.
源目录树中复制的DLL现在总是打包的 package_data.dlls
进入不再有效。如果不想包含DLL,请不要将它们复制到源树中。