Shippo - проблема асинхронного пакета Python - PullRequest
0 голосов
/ 14 марта 2019

Я импортировал пакет Python Shippo и пытаюсь заставить их пример работать, но у меня появляется следующее сообщение об ошибке (см. Ниже).Я использую Python 3.7.2 в самой последней версии API.

Вот ошибка -

    Traceback (most recent call last):
      File "c:/Users/tom/Documents/PyProjects/goShippo/goShippoCreateLabels.py", line 1, in <module>
        import shippo
      File "C:\Python\lib\site-packages\shippo\__init__.py", line 8, in <module>
        from shippo.resource import (
      File "C:\Python\lib\site-packages\shippo\resource.py", line 303
        def get_rates(cls, object_id, async=False, api_key=None, currency=None, **params):
                                      ^
SyntaxError: invalid syntax

Вот код -

import shippo

shippo.api_key = "shippo_test_123456789"

address_from = {
    "name": "Shawn Ippotle",
    "company": "Shippo",
    "street1": "215 Clayton St.",
    "city": "San Francisco",
    "state": "CA",
    "zip": "94117",
    "country": "US",
    "phone": "+1 555 341 9393",
    "email": "shippotle@goshippo.com"
}

address_to = {
    "name": "Mr Hippo",
    "company": "",
    "street1": "Broadway 1",
    "street2": "",
    "city": "New York",
    "state": "NY",
    "zip": "10007",
    "country": "US",
    "phone": "+1 555 341 9393",
    "email": "mrhippo@goshippo.com",
    "metadata": "Hippos dont lie"
}

parcel = {
    "length": "5",
    "width": "5",
    "height": "5",
    "distance_unit": "in",
    "weight": "2",
    "mass_unit": "lb"
}

shipment = {
    "address_from": address_from,
    "address_to": address_to,
    "parcels": [parcel]
}

transaction = shippo.Transaction.create(
    shipment = shipment,
    carrier_account = "b741b99f95e841639b54272834bc478c",
    servicelevel_token = "usps_priority"
)

1 Ответ

0 голосов
/ 15 марта 2019

Этот пакет имеет покрытие версии Python до 3.3.В версиях 3.6+ «async» стал зарезервированным ключевым словом, вызывая синтаксическую ошибку, которую вы получаете.

Поскольку «асинхронный» является параметром по умолчанию, лучшим решением будет явное изменение параметра «асинхронный» на «асинхронный».Это должно по крайней мере избежать синтаксической ошибки, пока пакет не будет обновлен для поддержки 3.6+.

...