Mac导入第三方模块tushare遇到的坑

1.尝试在Anaconda中导入

windows系统的操作是找到Anaconda Prompt并直接pip install tushare,在查阅资料后了解到Mac终端即是Anaconda Prompt,只不过需要进入bash环境,输入:

source ~/.bash_profile

终端显示:

此时就可以用conda命令完成对包的处理:

  • 查找包

    conda search XXX
    
  • 安装包

    conda install XXX
    
  • 更新包

    conda update XXX
    
  • 删除包

    conda remove XXX
    

但是在conda install tushare的时候却遇到了问题:

寻找PackagesNotFoundError: The following packages are not available from current channels(当前渠道下无法安装包)的解决方法,找到以下几条:

首先查找符合条件的安装包路径:

anaconda search -t conda tushare

其次选择符合条件的安装包路径:

conda install -c https://conda.anaconda.org/列表中对应的Name 要安装的包

但是我却发现查找后出来以下信息:

我理解的大致意思是,只找到一个包,tushare 0.5.1版本只支持win-64系统,所以在Mac Anaconda上无法安装。

2.pycharm中安装

这个方法容易并且简单,首先记得将project interpreter切换成python3,不要用之前的anaconda

其次,直接在IDE中import tushare,这时候因为没有第三方库,pycharm会自动出现红色下划线,将光标移到tushare上面会出现红色提示符,这个时候点击红色提示符,并点击install package tushare,等待安装完成即可

3.终端pip install

打开终端输入:pip3 install tushare,等待安装成功

但是问题随之而来,安装成功后,进入python编译环境,导入tushare包却提示失败:

显示模块不存在,明明安装提示成功却无法导入,并且查找了python文件夹中的site-packages目录下的包,发现也有tushare这个文件夹以及whl文件:

于是又去各种找原因。。。

最后发现,对mac os系统自带的python进行了升级,新安装的python的site-packages目录并没有加到python的系统路径中,所以在使用其他库时发现出现了缺少模块的错误。

查看python的模块路径方法是

import sys

print sys.path

于是我去查找python模块路径发现:

对,没错,只有anaconda的路径,应该是安装anaconda后系统默认先调用anaconda进行编译,所以我们需要手动加入原本的python site-packages的路径:

下边是在这个python系统路径中加入新的模块路径的三种方法,

1、添加环境变量PYTHONPATH,python会添加此路径下的模块,在.bash_profile文件中添加如下类似行:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.7/site-packages

2、在site-packages路径下添加一个路径配置文件,文件的扩展名为.pth,内容为要添加的路径即可

3、sys.path.append()函数添加搜索路径,参数值即为要添加的路径。

我利用的是第三种方法,临时加入搜索路径

/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages

加入临时路径后,就导入成功了!

猜你喜欢

转载自www.cnblogs.com/rainbow-ran/p/12580645.html