Как запустить pyasn1, установленный с помощью pip

#python #pyasn1

#python #pyasn1

Вопрос:

Очевидно, я делаю что-то не так, и все инструкции, которые я нашел буквально везде, говорят о том, как установить (название программы здесь) с помощью PIP, но не о том, как его выполнить.

Я пытаюсь запустить pyasn1, используя виртуальную среду python3.

Я также пытался использовать свою среду python2.7 по умолчанию, но там тоже нет любви.

 python3 -m venv asn1_env
source asn1_env/bin/activate
 

Просто чтобы проверить, что я нахожусь в новой виртуальной среде.

 which python
/Users/xxxx/asn1_env/bin/python
 

Теперь мы устанавливаем pyasn1 в сотый раз…

 pip install pyasn1
Successfully installed pyasn1-0.4.5
 

Здесь все идет наперекосяк…

 which pyasn1
 

(ничего, не могу найти его в виртуальном пути)

 find . -name "pyasn1.*"

./asn1_env/lib/python3.7/site-packages/pyasn1
 

(находит только каталог, который содержит кучу файлов, ни один из которых не называется pyasn1)

Очевидно, что это тоже не сработает…

 python pyasn1.py
/usr/local/Cellar/python/3.7.2_2/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'pyasn1.py': [Errno 2] No such file or directory
 

Комментарии:

1. Вы пробовали import pyasn1 использовать python REPL? Я новичок в pyasn1, но он выглядит как библиотека, которая не экспортирует исполняемый файл. Так что я бы не ожидал pyasn1 , что после установки это будет команда в командной оболочке. Но если вы откроете оболочку python и введете import pyasn1 ее, это должно сработать.

Ответ №1:

Запускать нечего, pyasn1 потому что это библиотека, а не выполняемая программа.

Предполагаемый рабочий процесс заключается в том, что вы сначала выражаете свои структуры данных ASN.1 в виде pyasn1 классов, затем вы можете либо декодировать сериализованные данные (BER / DER / CER) в объекты Python, либо наоборот.

Комментарии:

1. Ах, это было совсем не ясно из документации в Readme.md . Это объяснило бы, почему не было никаких примеров того, как запустить его из командной строки. (или, возможно, мне нужно улучшить свое понимание прочитанного. )