Ошибка типа: неподдерживаемые типы операндов для -: ‘str’ и ‘datetime.timedelta’ при импорте Dash

#python #plotly-dash

#python #графически-тире

Вопрос:

Название говорит само за себя. Успешно установлен dash с conda install -c conda-forge dash помощью приглашения anaconda. Однако я получаю действительно странную ошибку даты и времени в строке 1, import dash . Я запускаю пример кода из документов dash:

 import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.express as px
import pandas as pd

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

# assume you have a "long-form" data frame
# see https://plotly.com/python/px-arguments/ for more options
df = pd.DataFrame({
    "Fruit": ["Apples", "Oranges", "Bananas", "Apples", "Oranges", "Bananas"],
    "Amount": [4, 1, 2, 2, 4, 5],
    "City": ["SF", "SF", "SF", "Montreal", "Montreal", "Montreal"]
})

fig = px.bar(df, x="Fruit", y="Amount", color="City", barmode="group")

app.layout = html.Div(children=[
    html.H1(children='Hello Dash'),

    html.Div(children='''
        Dash: A web application framework for Python.
    '''),

    dcc.Graph(
        id='example-graph',
        figure=fig
    )
])

if __name__ == '__main__':
    app.run_server(debug=True)
 

И полная ошибка:

 01/19/2021
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-1-a2f2b34e8b40> in <module>
----> 1 import dash
      2 import dash_core_components as dcc
      3 import dash_html_components as html
      4 import plotly.express as px
      5 import pandas as pd

~Anaconda3libsite-packagesdash__init__.py in <module>
----> 1 from .dash import Dash, no_update  # noqa: F401
      2 from . import dependencies  # noqa: F401
      3 from . import development  # noqa: F401
      4 from . import exceptions  # noqa: F401
      5 from . import resources  # noqa: F401

~Anaconda3libsite-packagesdashdash.py in <module>
     16 
     17 from functools import wraps
---> 18 from future.moves.urllib.parse import urlparse
     19 
     20 import flask

~Anaconda3libsite-packagesfuturemoves__init__.py in <module>
      6 
      7 if sys.version_info[0] >= 3:
----> 8     import_top_level_modules()

~Anaconda3libsite-packagesfuturestandard_library__init__.py in import_top_level_modules()
    808 
    809 def import_top_level_modules():
--> 810     with exclude_local_folder_imports(*TOP_LEVEL_MODULES):
    811         for m in TOP_LEVEL_MODULES:
    812             try:

~Anaconda3libsite-packagesfuturestandard_library__init__.py in __enter__(self)
    779             #             pass
    780             try:
--> 781                 module = __import__(m, level=0)
    782             except ImportError:
    783                 # There's a problem importing the system module. E.g. the

~Documentstest.py in <module>
      6 
      7 one_month = datetime.timedelta(weeks=4)
----> 8 month_ago = today - one_month
      9 print(month_ago)

TypeError: unsupported operand type(s) for -: 'str' and 'datetime.timedelta'
 

Ответ №1:

Похоже, у вас в Documents папке есть файл Python, который извлекается.

 ~Documentstest.py in <module>
      6 
      7 one_month = datetime.timedelta(weeks=4)
----> 8 month_ago = today - one_month
      9 print(month_ago)
 

У вас есть __init__.py файл в этой папке, или вы установили Python в эту папку, или, может быть, даже добавили его в системный ПУТЬ?

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

1. Приятный глаз! Итак, я думаю, что произошло то, что у меня был файл python, который я создал с именем «test.py » в папке » Документы «, и это мешало работе с каким-то конфигурационным файлом с именем «test.py » в одной из моих папок conda. Удалены test.py Я создал, и теперь он работает, спасибо!