首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装了带有“get 3”的python包,但当我调用它时,我得到了“没有模块名为X”

安装了带有“get 3”的python包,但当我调用它时,我得到了“没有模块名为X”
EN

Stack Overflow用户
提问于 2020-09-28 14:40:58
回答 2查看 1K关注 0票数 2

我安装了这样一个模块:

代码语言:javascript
复制
> pip3.8 install mssql-cli

但当我运行它时,我得到:

代码语言:javascript
复制
> 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怎么说?

代码语言:javascript
复制
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?

不完全同意。这很糟糕吗?

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-28 15:24:28

问题是,如果您查看实际的mssql-cli文件,它将使用python命令运行它。这个(在我的Mac上)默认为2.7 python。有三种解决办法:

  1. .bashrc.bash_profile中添加一行,表示alias python='python3.8'。请注意,这将覆盖您的python2.7 (无论如何都是过时的)。
  2. 编辑了文件的最后一行,它附带了which mssql-cli来表示python3.8 -m mssqlcli.main "$@"。这有一个缺点,即您不应该真正编辑这个包,而且每次更新这个包时都需要这样做,但它确实有效。
票数 4
EN

Stack Overflow用户

发布于 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。

代码语言:javascript
复制
python3.8 -m pip install -U --force-reinstall pip

这应该强制重新安装pip,而且由于python3.8指向Homebrew,所以它应该将pippip3安装为指向那个Python。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64104393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档