Устранение неполадок при попытке установить и импортировать `stats_exporter` из` opencensus.ext.stackdriver` - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь установить и использовать stats_exporter из opencensus.ext.stackdriver, используя следующее руководство: opencensus-ext-stackdriver

после установки через pip:

pip install opencensus-ext-stackdriver

Я пытаюсь импортировать его и:

from opencensus.ext.stackdriver import stats_exporter as stackdriver
ImportError: cannot import name 'stats_exporter' from 'opencensus.ext.stackdriver'

При сравнении репозитория Git и моего локального venv/lib/python3.7/site-packages/... кажется, что версия pip несовместима с Github,поэтому я попытался установить его, хотя клонирование и использование setup.py

pip install ../opencensus-python/contrib/opencensus-ext-stackdriver/dist/opencensus-ext-stackdriver-0.2.dev0.tar.gz

, что дает мне следующую ошибку:

(venv) Yehoshaphats-MacBook-Pro:present-value yehoshaphatschellekens$ pip install ../opencensus-python/contrib/opencensus-ext-stackdriver/dist/opencensus-ext-stackdriver-0.2.dev0.tar.gz 
Processing /Users/yehoshaphatschellekens/opencensus-python/contrib/opencensus-ext-stackdriver/dist/opencensus-ext-stackdriver-0.2.dev0.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/s2/y6vcdc1105s8xlpb12slr9z00000gn/T/pip-req-build-7m1ibdpd/setup.py", line 17, in <module>
        from version import __version__
    ModuleNotFoundError: No module named 'version'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/s2/y6vcdc1105s8xlpb12slr9z00000gn/T/pip-req-build-7m1ibdpd/

Подобные ошибки этого типа указали, что мне нужно обновитьsetuptools, пробовал также: (

Этот пост предполагает, что это может быть связано с тем фактом, что я использую python3, который не может быть завершен с version, хотя я действительноМне нужно установить этот пакет на моем python3 venv.

Любая помощь по этому вопросу будет отличной!

1 Ответ

1 голос
/ 05 апреля 2019

Попробуйте это:

#!/usr/bin/env python

import os

from opencensus.common.transports.async_ import AsyncTransport

from opencensus.ext.stackdriver import trace_exporter as stackdriver_exporter

from opencensus.trace import tracer as tracer_module
from opencensus.stats import stats as stats_module


def main():
    sde = stackdriver_exporter.StackdriverExporter(
                project_id=os.environ.get("PROJECT_ID"),
                transport=AsyncTransport)

    tracer = tracer_module.Tracer(exporter=sde)
    with tracer.span(name='doingWork') as span:
        for i in range(10):
            continue


if __name__ == "__main__":
    main()

и

grpcio==1.19.0
opencensus==0.3.1
opencensus-ext-stackdriver==0.1.1

NB библиотекам OpenCensus также требуется gRPC.

Вам понадобится:

  • Проект GCP и его Идентификатор проекта (${PROJECT_ID})
  • учетная запись службы с roles/cloudtrace.agent и ее ключ.

Тогда:

virtualenv venv
source venv/bin/activate

export PROJECT_ID=[[YOUR-PROJECT-ID]]
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/key.json

pip3 install --requirement requirements.txt
python3 stackdriver.py
...