Как установить модуль Python в формате PDFNet?
Я бегал кругами, пытаясь понять, как заставить мое приложение Django распознавать пробную версию PDFNet:
https://pypi.python.org/pypi/PDFTron-PDFNet-SDK-for-Python/5.7
Я попытался добавить файлы в мой каталог ~/usr/bin, я попытался поместить их в каталог bin моего virtualenv. Ни один не работал. Я прочитал всю документацию, которую я могу найти. Я слишком новичок в разработке на 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. как только я получил это, операторы импорта больше не были перечислены как необоснованные 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
1 ответ
python -m pip install PDFNetPython3
ссылка на главную страницу здесь
Ниже приведены шаги по установке модуля PDFNet:
- Загрузите готовые двоичные файлы Python и Ruby. Убедитесь, что вы загрузили правильную архитектуру для своего интерпретатора Python.
- Извлеките загруженный zip-файл и перейдите к нему.
- Перейдите в каталог /PDFNetC/Lib загружаемого Python SDK и выполните:
> chmod a+x fix_rpaths.sh
./fix_rpaths.sh
Я не разбираюсь в django, но внимательно посмотрю на примеры py файлов, которые есть в SDK. Например, посмотрите на папку PDFNetC/Samples/AddImageTest/PYTHON. Там есть файл.py, и посмотрите на первые 4 строки кода, они указывают, что нужно загрузить.
Обратите внимание, что вам нужны все файлы, которые находятся в папке PDFNetC/Lib, включая файл PDFNetC.dll.
Если это не помогло, пожалуйста, опубликуйте точное (первое) сообщение об ошибке, которое вы получите.
Это просто отлично работает для меня, когда я пытаюсь запустить скрипт оболочки, кстати, используя ithon в качестве моего языка программирования для 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, но уверен, что это поможет вам.