Can you write the figure out to an html file and open it in notepad++ and search for “topojsonURL” and confirm that it being set to “http://127.0.0.1:5000/topojson”?
Also you can test to see if the Flask app is running properly by visiting http://127.0.0.1:5000/topojson/world_110m.json in a browser. You should see the json file in your browser, the same as visiting the cdn.plot.ly link from step 1 that I provided.
Also, did you make sure to download all of the other .json files that I suggested? It could be possible that you are using a projection that requires a different .json file.
EDIT: You should see something like this when the plot is being shown if your flask app is working correctly.
* Serving Flask app "PlotlyFlask" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Restarting with windowsapi reloader
* Debugger is active!
* Debugger PIN: 445-777-133
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [18/Aug/2020 17:43:19] "e[37mGET /plotly/topojson/world_110m.json HTTP/1.1e[0m" 200 -