我安装了这样一个模块:
> pip3.8 install mssql-cli但当我运行它时,我得到:
> 3002 ~$ mssql-cli -S 192.168.7.50 -d test-db
/usr/bin/python: No module named mssqlcli我认为mssql-cli是默认的系统--默认的python (2.x)。我如何告诉它使用python3.8
是的,我在Mac上。Python3.8是通过Homebrew安装的。
回答评论中的问题:
pip3.8 --version怎么说?
3044 ~$ pip3.8 --version
pip 20.1.1 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)并检查
which python3.8指向/usr/local/lib/python3.8/python?
不完全同意。这很糟糕吗?
3048 ~$ ll `which python3.8`
lrwxr-xr-x 1 grantb admin 40 Jul 24 10:57 /usr/local/bin/python3.8@ -> ../Cellar/python@3.8/3.8.5/bin/python3.8发布于 2020-09-28 15:24:28
问题是,如果您查看实际的mssql-cli文件,它将使用python命令运行它。这个(在我的Mac上)默认为2.7 python。有三种解决办法:
.bashrc或.bash_profile中添加一行,表示alias python='python3.8'。请注意,这将覆盖您的python2.7 (无论如何都是过时的)。which mssql-cli来表示python3.8 -m mssqlcli.main "$@"。这有一个缺点,即您不应该真正编辑这个包,而且每次更新这个包时都需要这样做,但它确实有效。发布于 2020-09-28 15:20:19
又一个勇敢的灵魂陷入了在Mac上安装Python的混乱网络中。

您的问题是,自制软件在/usr/local/Cellar/python@3.8/3.8.5/bin/python3.8中安装了Python版本。另一方面,Pip3.8认为Python /usr/local/lib/python3.8/python,所以它将其包安装在python的site-packages目录中。
如果您已经安装了python和pip,当您从家庭酿造瓶安装它时,它不会覆盖您已经拥有的链接。一个解决方案是通过正确的python重新安装pip。
python3.8 -m pip install -U --force-reinstall pip这应该强制重新安装pip,而且由于python3.8指向Homebrew,所以它应该将pip和pip3安装为指向那个Python。
https://stackoverflow.com/questions/64104393
复制相似问题