3
lifetimeporn 2020-12-24 11:07:18 +08:00
直接原因,就是你安装了 tushare 这个包的 python 环境,与你运行 index.py 的代码的 python 环境不是同一个环境。
|
4
SjwNo1 2020-12-24 11:10:45 +08:00
你的包装在了 python3 下
|
5
linw1995 2020-12-24 11:19:30 +08:00
pip --version 可以看到 package 会安装到哪个 python
|
8
yanbc 2020-12-24 12:13:46 +08:00 via iPhone 1
装 python 包的时候正确姿势是 python -m pip install,尽量避免直接 pip install 。这样你用的是哪个环境中的 python binary 它就会装在哪个环境
|
9
perpetually 2020-12-24 13:47:03 +08:00
你都说了 pip3 list
怎么不用 python3 index.py ? |
10
XIVN1987 2020-12-24 13:48:54 +08:00
|
12
UN2758 2020-12-24 14:43:25 +08:00
linux 系统?看看 which python 执行的是哪个位置的 python
|
13
ShuoHui 2020-12-24 14:45:05 +08:00 via iPhone
用虚拟环境吧
|
14
aristolochic 2020-12-24 15:25:20 +08:00
@no1xsyzy 不论是开发还是测试生产,都别碰系统的。Python 更是如此,一个几乎所有发行版都得乖乖放到 base 里面的超级依赖,疯了才去卸载它( Arch Linux 躲过一劫)。剩下的不要碰系统 Python 的原因是,系统的包管理器也会打包 Python 包,这时候如果用 Pip 更新了,会检查文件完整性的系统包管理器(比如 pacman )就会直接罢工。这个 Nodejs 啊 Ruby 啊等等也是一样的。推荐的做法是一定要用虚拟环境,个人的解决方案是把系统 Python 的所有依赖交给系统包管理器管理,甚至 pip 能不装都别装,平常用的话,用系统包管理器装的 pipx 装 PyPi 发行的 cli 工具,比如 pgcli 、asciinema 之类的,然后再装个 poetry 负责平常的开发
|
15
learningman 2020-12-24 17:03:54 +08:00
@aristolochic poetry 的 IDE 集成太差了,然后那个 toml 手写又老错
|
16
frostming 2020-12-24 17:04:46 +08:00
|
17
no1xsyzy 2020-12-24 20:22:56 +08:00
@aristolochic 这就是特别好用的脚本语言通常最终会发生的事儿(
不过你是不是回复错人了( |
18
aristolochic 2020-12-25 12:11:48 +08:00
@no1xsyzy yep ( x
|