Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python OSError:[Errno 48]地址已在使用中_Python_Sockets_Ssl_Flask_Pycharm - Fatal编程技术网

Python OSError:[Errno 48]地址已在使用中

Python OSError:[Errno 48]地址已在使用中,python,sockets,ssl,flask,pycharm,Python,Sockets,Ssl,Flask,Pycharm,我正在尝试从Mac终端设置服务器。我已在端口5000上建立连接,希望在5002中打开另一个端口。 导航到文件夹位置后: python Blockchain.py -p 5002 但这会产生一个错误: OSError: [Errno 48] Address already in use 我提到了关于同一问题的各种答案: [ [ [ 此外,我尝试了以下方法来解决此问题: 重新启动终端 重新启动PyCharm 在不同的套接字上运行(给出相同的错误) 所有这些似乎都不起作用。我对Python相当陌生

我正在尝试从Mac终端设置服务器。我已在端口5000上建立连接,希望在5002中打开另一个端口。 导航到文件夹位置后:

python Blockchain.py -p 5002
但这会产生一个错误:

OSError: [Errno 48] Address already in use
我提到了关于同一问题的各种答案:

[

[

[

此外,我尝试了以下方法来解决此问题:

  • 重新启动终端
  • 重新启动PyCharm
  • 在不同的套接字上运行(给出相同的错误)
  • 所有这些似乎都不起作用。我对Python相当陌生。错误消息附在下面:
    python Blockchain.py-p 5002
    回溯(最近一次呼叫最后一次):
    文件“Blockchain.py”,第290行,在
    应用程序运行(主机=0.0.0.0',端口=5000)
    文件“/anaconda/envs/blockchain/lib/python3.6/site packages/flask/app.py”,第841行,运行中
    运行简单(主机、端口、自身,**选项)
    文件“/anaconda/envs/blockchain/lib/python3.6/site packages/werkzeug/serving.py”,第814行,简单运行
    内()
    文件“/anaconda/envs/blockchain/lib/python3.6/site packages/werkzeug/service.py”,第774行,在内部
    fd=fd)
    文件“/anaconda/envs/blockchain/lib/python3.6/site packages/werkzeug/service.py”,第666行,在make_服务器中
    传递错误,ssl上下文,fd=fd)
    文件“/anaconda/envs/blockchain/lib/python3.6/site packages/werkzeug/service.py”,第577行,在__
    self.address(家庭),handler)
    文件“/anaconda/envs/blockchain/lib/python3.6/socketserver.py”,第453行,在__
    self.server_bind()
    服务器绑定中的文件“/anaconda/envs/blockchain/lib/python3.6/http/server.py”,第136行
    socketserver.TCPServer.server\u绑定(self)
    服务器绑定中的文件“/anaconda/envs/blockchain/lib/python3.6/socketserver.py”,第467行
    self.socket.bind(self.server\u地址)
    OSError:[Errno 48]地址已在使用中
    

    感谢您的帮助

    [1] :socket.error:[Errno 48]地址已在使用中

    [2] :烧瓶和Pycharm插座。错误


    [3] :Python-套接字错误,正在使用的地址

    如果仔细查看回溯,您将看到

    app.run(host='0.0.0.0', port=5000)
    
    这意味着无论
    -p
    传入哪个端口,端口5000都是硬编码的


    您需要修改它以使用脚本将
    -p
    参数存储为的任何变量。

    在尝试实现DeepSpace建议的答案时,我偶然发现了以下答案:

    https://stackoverflow.com/questions/48205495/python-how-to-run-multiple-flask-apps-from-same-client-machine

    要在不同的机器上运行烧瓶应用程序,请使用:

     $ export FLASK_APP=Blockchain.py
     $ flask run --host 0.0.0.0 --port 5000
    
    打开另一个终端并使用:

    $ export FLASK_APP=Blockchain.py
    $ flask run --host 0.0.0.0 --port 5001
    

    信用证:

    我尝试了lsof-I:5002,但没有返回任何结果。