при первом запуске gekko, эта ошибка "не может импортировать имя 'dump_csp_header' из werkzeug.http ' - PullRequest
4 голосов
/ 03 апреля 2020

Я использую Spyder для запуска Python 3.7, где я установил gekko. Однако я попытался запустить простой код gekko из Википедии, и он выдает мне следующую ошибку:

ImportError: невозможно импортировать имя «dump_csp_header» из «werkzeug.http» (C: \ Users \ zulfan.adiputra \ AppData \ Local \ Continuum \ anaconda3 \ envs \ PythonNew \ lib \ site-packages \ werkzeug \ http.py)

Когда я проверяю в приглашении Anaconda, установленный werkzeug равен 1.0 +0,0. Что делать в этом отношении?

Спасибо

Ответы [ 2 ]

2 голосов
/ 06 апреля 2020

Вы можете устранить ошибку с помощью:

  1. Установить GUI=False в m.solve()
  2. Запустить программу Python из командной строки с помощью python myProgram.py. Иногда возникают проблемы с сервером Flask, если вы пытаетесь использовать GUI при запуске из IDE, такой как Spyder или IDLE.

Вместо использования опции GUI, это относительно легко построить результаты с matplotlib. Вот пример сценария:

from gekko import GEKKO
import numpy as np
import matplotlib.pyplot as plt

m = GEKKO()  # initialize gekko
nt = 101
m.time = np.linspace(0, 2, nt)
# Variables
x1 = m.Var(value=1)
x2 = m.Var(value=0)
u = m.Var(value=0, lb=-1, ub=1)
p = np.zeros(nt)  # mark final time point
p[-1] = 1.0
final = m.Param(value=p)
# Equations
m.Equation(x1.dt() == u)
m.Equation(x2.dt() == 0.5 * x1 ** 2)
m.Obj(x2 * final)  # Objective function
m.options.IMODE = 6  # optimal control mode
m.solve()  # solve
plt.figure(1)  # plot results
plt.plot(m.time, x1.value, "k-", label=r"$x_1$")
plt.plot(m.time, x2.value, "b-", label=r"$x_2$")
plt.plot(m.time, u.value, "r--", label=r"$u$")
plt.legend(loc="best")
plt.xlabel("Time")
plt.ylabel("Value")
plt.show()

Example of how to plot results

0 голосов
/ 07 апреля 2020

Я добавил GUI = False в m.solve (), но он не работает. Ниже приведен код:

    from gekko import GEKKO
    import numpy as np
    import matplotlib.pyplot as plt

    m = GEKKO()  # initialize gekko
    nt = 101
    m.time = np.linspace(0, 2, nt)
    # Variables
    x1 = m.Var(value=1)
    x2 = m.Var(value=0)
    u = m.Var(value=0, lb=-1, ub=1)
    p = np.zeros(nt)  # mark final time point
    p[-1] = 1.0
    final = m.Param(value=p)
    # Equations
    m.Equation(x1.dt() == u)
    m.Equation(x2.dt() == 0.5 * x1 ** 2)
    m.Obj(x2 * final)  # Objective function
    m.options.IMODE = 6  # optimal control mode
    m.solve(GUI=False)  # solve
    plt.figure(1)  # plot results
    plt.plot(m.time, x1.value, "k-", label=r"$x_1$")
    plt.plot(m.time, x2.value, "b-", label=r"$x_2$")
    plt.plot(m.time, u.value, "r--", label=r"$u$")
    plt.legend(loc="best")
    plt.xlabel("Time")
    plt.ylabel("Value")
    plt.show()


pip list
Package                       Version            
Note: you may need to restart the kernel to use updated packages.----------------------------- -------------------
absl-py                       0.9.0              
alabaster                     0.7.12             
argh                          0.26.2             
asn1crypto                    1.3.0              
astor                         0.8.0              
astroid                       2.3.3              
atomicwrites                  1.3.0              
attrs                         19.3.0             
autopep8                      1.4.4              
Babel                         2.8.0              
backcall                      0.1.0              
bcrypt                        3.1.7              
bleach                        3.1.0              
blinker                       1.4                
cachetools                    3.1.1              
certifi                       2019.11.28         
cffi                          1.14.0             
chardet                       3.0.4              
click                         7.1.1              
cloudpickle                   1.3.0              
colorama                      0.4.3              

comtypes                      1.1.7              
cryptography                  2.8                
cycler                        0.10.0             
decorator                     4.4.2              
defusedxml                    0.6.0              
diff-match-patch              20181111           
docutils                      0.16               
entrypoints                   0.3                
flake8                        3.7.9              
Flask                         1.1.1              
Flask-Cors                    3.0.8              
future                        0.18.2             
gast                          0.2.2              
gekko                         0.2.6              
google-auth                   1.11.2             
google-auth-oauthlib          0.4.1              
google-pasta                  0.2.0              
grpcio                        1.27.2             
h5py                          2.10.0             
idna                          2.9                
imagesize                     1.2.0              
importlib-metadata            1.5.0              
intervaltree                  3.0.2              
ipykernel                     5.1.4              
ipython                       7.13.0             
ipython-genutils              0.2.0              
isort                         4.3.21             
itsdangerous                  1.1.0              
jedi                          0.15.2             
Jinja2                        2.11.1             
joblib                        0.14.1             
jsonschema                    3.2.0              
jupyter-client                6.1.2              
jupyter-core                  4.6.3              
Keras                         2.3.1              
Keras-Applications            1.0.8              
Keras-Preprocessing           1.1.0              
keyring                       21.1.1             
kiwisolver                    1.1.0              
lazy-object-proxy             1.4.3              
Markdown                      3.1.1              
MarkupSafe                    1.1.1              
matplotlib                    3.1.3              
mccabe                        0.6.1              
mistune                       0.8.4              
mkl-fft                       1.0.15             
mkl-random                    1.1.0              
mkl-service                   2.3.0              
nbconvert                     5.6.1              
nbformat                      5.0.4              
numpy                         1.18.1             
numpydoc                      0.9.2              
oauthlib                      3.1.0              
opt-einsum                    3.1.0              
packaging                     20.3               
pandas                        1.0.3              
pandocfilters                 1.4.2              
paramiko                      2.7.1              
parso                         0.5.2              
pathtools                     0.1.2              
pexpect                       4.8.0              
pickleshare                   0.7.5              
Pillow                        7.0.0              
pip                           20.0.2             
pluggy                        0.13.1             
prompt-toolkit                3.0.4              
protobuf                      3.11.4             
psutil                        5.7.0              
pyasn1                        0.4.8              
pyasn1-modules                0.2.7              
pycodestyle                   2.5.0              
pycparser                     2.20               
pydocstyle                    4.0.1              
pyflakes                      2.1.1              
Pygments                      2.6.1              
PyJWT                         1.7.1              
pylint                        2.4.4              
PyNaCl                        1.3.0              
pyOpenSSL                     19.1.0             
pyparsing                     2.4.6              
pyreadline                    2.1                
pyrsistent                    0.16.0             
PySocks                       1.7.1              
python-dateutil               2.8.1              
python-jsonrpc-server         0.3.4              
python-language-server        0.31.9             
pytz                          2019.3             
pywin32                       227                
pywin32-ctypes                0.2.0              
PyYAML                        5.3.1              
pyzmq                         18.1.1             
QDarkStyle                    2.8                
QtAwesome                     0.7.0              
qtconsole                     4.7.2              
QtPy                          1.9.0              
requests                      2.23.0             
requests-oauthlib             1.3.0              
rope                          0.16.0             
rsa                           4.0                
Rtree                         0.9.3              
scikit-learn                  0.22.2.post1       
scipy                         1.4.1              
seaborn                       0.10.0             
setuptools                    46.1.3.post20200330
six                           1.14.0             
snowballstemmer               2.0.0              
sortedcontainers              2.1.0              
Sphinx                        2.4.4              
sphinxcontrib-applehelp       1.0.2              
sphinxcontrib-devhelp         1.0.2              
sphinxcontrib-htmlhelp        1.0.3              
sphinxcontrib-jsmath          1.0.1              
sphinxcontrib-qthelp          1.0.3              
sphinxcontrib-serializinghtml 1.1.4              
spyder                        4.1.1              
spyder-kernels                1.9.0              
tensorboard                   2.1.0              
tensorflow                    2.1.0              
tensorflow-estimator          2.1.0              
termcolor                     1.1.0              
testpath                      0.4.4              
tornado                       6.0.4              
traitlets                     4.3.3              
ujson                         1.35               
urllib3                       1.25.8             
watchdog                      0.10.2             
wcwidth                       0.1.9              
webencodings                  0.5.1              
Werkzeug                      1.0.0              
wheel                         0.34.2             
win-inet-pton                 1.1.0              
wincertstore                  0.2                
wrapt                         1.12.1             
wxPython                      4.0.7.post2        
xgboost                       0.90               
xlrd                          1.2.0              
XlsxWriter                    1.2.8              
xlwings                       0.18.0             
xlwt                          1.3.0              
yapf                          0.28.0             
zipp                          2.2.0              


...