如何在 mac os x 上使用 gunicorn 和 python3.8 而不是 python3.9?
Posted
技术标签:
【中文标题】如何在 mac os x 上使用 gunicorn 和 python3.8 而不是 python3.9?【英文标题】:How can I use gunicorn with python3.8 instead of python3.9 on mac os x? 【发布时间】:2021-05-01 13:51:59 【问题描述】:我正在尝试使用 Gunicorn 为 mac os X 上的简单 python3 应用程序提供 WSGI 服务器,但它使用的是 python2。我尝试使用以下方法安装 gunicorn:
pip install gunicorn
和
pip3 install gunicorn
这有效,但是当我尝试运行 gunicorn 时出现“找不到命令”错误(例如使用 gunicorn -w 4 echo:app
)。我还尝试使用 pip 和 pip3 和 brew 安装 gunicorn3 ,但每个都出现错误。我能够使用以下命令安装和运行 gunicorn:
easy_install gunicorn
但是,它似乎正在运行 python2。我试过了
easy_install gunicorn3
但出现错误。如何在 Mac OS X 上将 gunicorn 与 python3 一起使用?
编辑:我完全错误地认为我看到的错误是由于使用了 python2。它实际上正在运行 3.9,这会产生问题,因为缺少很多软件包。我之前已经恢复到 python 3.8。有没有办法让 gunicorn 也使用 python3.8?我看到的错误是:
Traceback (most recent call last):
File "/usr/local/bin/gunicorn", line 33, in <module>
sys.exit(load_entry_point('gunicorn==20.0.4', 'console_scripts', 'gunicorn')())
File "/usr/local/bin/gunicorn", line 22, in importlib_load_entry_point
for entry_point in distribution(dist_name).entry_points
File "/usr/local/Cellar/python@3.9/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/metadata.py", line 524, in distribution
return Distribution.from_name(distribution_name)
File "/usr/local/Cellar/python@3.9/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/metadata.py", line 187, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: gunicorn
【问题讨论】:
Guicorn 确实适用于 python 3,我使用它。我所做的只是python3 -m pip install guicorn
你试过了吗?
谢谢。它以这种方式安装,但仔细观察,我认为我假设它正在运行 python2 是错误的。它实际上是在尝试运行 python3.9,尽管我恢复到 python3.8,因为很多包还没有在 3.9 上运行。有没有办法让它使用python3.8?
【参考方案1】:
我可以通过卸载easy_install安装的egg来解决这个问题,然后重新启动终端,然后稍微修改@Aiyush的答案:
python3 -m pip install --upgrade --force-reinstall gunicorn
仅使用pip install gunicorn
似乎不起作用。我想我需要重新启动终端才能使几天前对 ~/.bash_profile 所做的更改生效。
【讨论】:
以上是关于如何在 mac os x 上使用 gunicorn 和 python3.8 而不是 python3.9?的主要内容,如果未能解决你的问题,请参考以下文章