Python 在pipenv(Windows环境)上安装Weasyprint所需的库

Python 在pipenv(Windows环境)上安装Weasyprint所需的库,python,django,weasyprint,Python,Django,Weasyprint,为了开始使用Weasyprint生成文档,我按照以下说明在Windows计算机上安装了它: 在我的计算机上它可以工作,但我有一个Django项目,我想集成这个库,我使用pipenv如何在虚拟环境中安装必要的库? 我尝试将pycairo包的路径设置到PIP文件中,如 pycairo= {path= "C:/Program Files/GTK3-Runtime Win64/bin/"} 但它仍然抛出了一个错误: OSError: dlopen() failed to load a library

为了开始使用Weasyprint生成文档,我按照以下说明在Windows计算机上安装了它:

在我的计算机上它可以工作,但我有一个Django项目,我想集成这个库,我使用pipenv
如何在虚拟环境中安装必要的库?
我尝试将pycairo包的路径设置到PIP文件中,如

pycairo= {path= "C:/Program Files/GTK3-Runtime Win64/bin/"}
但它仍然抛出了一个错误:

OSError: dlopen() failed to load a library: cairo / cairo-2 / cairo-gobject-2 / cairo.so.2
我有64位Windows机器,这是PIP文件:

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
pylint = "*"

[packages]
django = "*"
mysql = "*"
ipython = "*"
django-webpack = "*"
django-webpack-loader = "*"
django-livereload-server = "*"
pylint = "*"
reportlab = "*"
weasyprint = "*"
django-weasyprint = "*"
pycairo= {path= "C:/Program Files/GTK3-Runtime Win64/bin/"}
cairocffi = "*"

[requires]
python_version = "3.7"

您需要在此本地计算机中安装“GTK+64位安装程序”路径:

C:\msys2


来源:

我也遇到了这个错误,并遵循了Weasyprint安装文档中提到的每个步骤。我使用PowerShell作为默认终端和pipenv。首先,我尝试在我的virtualenv中的pythonshell中使用命令
import-weasyprint
,但它总是返回cairo、dlopen()等错误

对我有用的是切换到cmd。切换并使用相同的命令,现在它可以完美地执行


另外,在我的PIP文件中,对于weasyprint,它足以在django中生成报告,我只安装了weasyprint。在这个问题中,如果它仍然与某人相关,则可以安全地从pipenv中删除/卸载库
reportlab
django weasyprint
Pycao
Cairocfi

请键入以下命令:

  • 其中libcairo-2.dll
  • 您应该获得“C:\msys2\mingw64\bin\libcairo-2.dll”
  • 然后打开cmd并键入以下内容

  • 设置适当的_GTK_文件夹=

  • 设置路径=%property_GTK_文件夹%;%路径%

请按照文档进行操作,它具有在windows上运行的所有功能。它对我有用我希望它对你有用