如何安装PDFNet python模块?

时间:2015-05-01 00:27:18

标签: python django dependency-management pdfnet

我一直在试图弄清楚如何让我的Django应用程序识别PDFNet的试用版:

https://pypi.python.org/pypi/PDFTron-PDFNet-SDK-for-Python/5.7

我尝试将文件添加到〜/ usr / bin目录中,我尝试将它们放到我的virtualenv的bin目录中。两者都没有奏效。我已经阅读了所有可以找到的文档。我是一个新兴的Python开发人员来查看这个包并知道如何安装它并在我的项目中使用它。

请帮忙!

更新我尝试创建一个应用文件夹,并将此组件列为应用列表中的应用,但是当我运行代码启动应用时,我收到以下错误:

  

未加载库:@ rpath / libPDFNetC.dylib

我将所有lib文件放入项目中的这个文件夹中:

  • __ init.py(空)
  • _PDFNetPython.so
  • libPDFNetC.dylib
  • PDFNetPython.py
  • PDFNetRuby.bundle

我在py文件的顶部使用了以下导入代码,我尝试使用该组件:

import site
site.addsitedir("../pdfnetc")
from pdfnetc.PDFNetPython import *

我将lib文件放入名为pdfnetc的app文件夹中。一旦我有了这个,导入语句就不再被pycharm列为没有了。

这是堆栈跟踪:

Traceback (most recent call last):
  File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevd.py", line 2217, in <module>
    globals = debugger.run(setup['file'], None, None)
  File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevd.py", line 1643, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/Users/ntregillus/myapp/manage.py", line 12, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/ntregillus/Envs/myapp/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "/Users/ntregillus/Envs/myapp/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute
    django.setup()
  File "/Users/ntregillus/Envs/myapp/lib/python2.7/site-packages/django/__init__.py", line 21, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/ntregillus/Envs/myapp/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/Users/ntregillus/Envs/myapp/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/ntregillus/myapp/statements/models.py", line 12, in <module>
    from statements.managers import StatementTemplateManager, StatementManager
  File "/Users/ntregillus/myapp/statements/managers.py", line 8, in <module>
    from statements.utils import render_to_pdf, StatementContextBuilder
  File "/Users/ntregillus/myapp/statements/utils.py", line 23, in <module>
    from pdfnetc.PDFNetPython import *
  File "/Users/ntregillus/myapp/pdfnetc/PDFNetPython.py", line 28, in <module>
    _PDFNetPython = swig_import_helper()
  File "/Users/ntregillus/myapp/pdfnetc/PDFNetPython.py", line 24, in swig_import_helper
    _mod = imp.load_module('_PDFNetPython', fp, pathname, description)
ImportError: dlopen(/Users/ntregillus/myapp/pdfnetc/_PDFNetPython.so, 2): Library not loaded: @rpath/libPDFNetC.dylib
  Referenced from: /Users/ntregillus/myapp/pdfnetc/_PDFNetPython.so
  Reason: image not found

4 个答案:

答案 0 :(得分:1)

以下是安装PDFNet模块的步骤:

  1. 下载Python和Ruby预建二进制文件。确保为您的Python解释器下载了正确的体系结构。
  2. 解压缩下载的zip文件并导航到它。
  3. 导航至Python SDK的/ PDFNetC / Lib目录,然后下载并执行:
> chmod a+x fix_rpaths.sh
./fix_rpaths.sh

答案 1 :(得分:0)

我不知道django,但仔细看看SDK中的示例py文件。例如,查看PDFNetC / Samples / AddImageTest / PYTHON文件夹。在.py文件中,查看前4行代码,它们表示需要加载的内容。

请注意,您需要PDFNetC / Lib文件夹中的所有文件,包括PDFNetC.dll文件。

如果这没有帮助,请发布您收到的确切(第一个)错误消息。

答案 2 :(得分:0)

当我尝试运行shell脚本时,它对我来说效果很好,btw iam使用python作为我的pdfnet编程语言,

尝试使用这些命令来运行pdfn

#!/bin/sh
TEST_NAME=PDFATest
export LD_LIBRARY_PATH=../../../PDFNetC/Lib
python -u $TEST_NAME.py

PDFATest指定python代码,然后导出将获取所需的软件包,例如

中的PDFNet。
  

../../ Lib

文件夹,因此请确保您在lib中使用该文件,然后运行代码,并且PDFNet不会有任何问题,顺便说一句,我对django并没有回答,但是请确保这会对您有所帮助。

答案 3 :(得分:0)

python -m pip install PDFNetPython3 home page link here