近来想学习pandas进行数据处理,ArcGIS在Desktop 10.4.1中正式引入了这个模块,但早期的ArcGIS版本就需要自己安装了。在Python中模块安装是个不大不小的事情,可能会很顺利,也可能会遇到各种兼容问题:Python版本2.x与3.x的兼容(甚至小版本),Python环境的兼容(包括32位与64位),操作系统的兼容,依赖包的兼容。现代社会使用在线安装来解决这些问题,但国内的网络只有一只脚迈进了现代,而我司的网络则更加不堪,连用镜像都会超时。
大致总结一下,安装模块最简单的是拷贝到Lib目录,稍复杂一些的就需要用python setup.py install
手动安装。但现在更多的是推荐使用pip,conda等工具来安装,首选在线安装,如果被迫需要下载,也可以考虑下载.whl文件。最后再考虑下载代码文件手动安装。
我目前的环境是Windows 64bit + Python 2.7 32bit + ArcGIS Desktop 10.x, 目前仅考虑使用pip,计划未来学习Pro时统一学习3.x + conda。
很明显,整体任务分成两部分:安装pip工具,和安装pandas模块。由于我只知道通过pip安装.whl,因此前面的工具是下载代码包手动安装,后面的模块都是下载.whl。
- 由于安装pip需要setuptools,貌似也叫做easy_install,目前版本31.0。下载后在cmd中运行
python.exe setuptools-31.0.0\setup.py install
即可。 - 目前pip的版本是9.0.1,下载后运行
python.exe pip-9.0.1\setup.py install
,我用setuptools9.0也可以安装成功。 - 这俩工具都会在python的Scripts目录下创建一堆文件,主要的是easy_install.exe和pip.exe,以后安装模块时还需要用到,环境变量看自己需要。
- 用pip安装pandas理论上只需要运行一句话
pip install pandas
,最多换个镜像源pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
。国内用得较多的源还有阿里和豆瓣的,不过这俩没有https,还需要加trusted-host参数。豆瓣安装pandas会提示找不到,但在链接中可以找到对应的包,不知什么原因。 - 但我司奇葩的网络使用这仨源都不行,最好情况是在下载包的过程中提示Read timed out. 在pip.ini中增加timeout = 600,和修改
pip --default-timeout=600 install -U Pillow
依然无效。使得我只能手动下载各种依赖包,然后依次安装pip install xxx.whl
。 - 目前pandas的版本是0.19.1,对应的依赖包依次是:six-1.10.0-py2.py3-none-any.whl,python_dateutil-2.6.0-py2.py3-none-any.whl,numpy-1.11.2-cp27-none-win32.whl,pytz-2016.7-py2.py3-none-any.whl,pandas-0.19.1-cp27-cp27m-win32.whl 也可以从国内镜像源的网址下载,注意安装顺序和版本。
- arcpy已经安装了早期版本的numpy(1.6或1.7),因此安装新版时会自动卸载早期版本,但有时可能卸载不掉,导致安装报错。我尝试直接删除numpy文件夹,再安装新版可以成功。
- 上面的numpy不包含mkl,未来装scipy时会比较麻烦,可以考虑换个numpy+mkl版本
网友评论