win7下安装配置coursera课程文件批量下载工具
安装环境:win7 ultimate 64位(这个安装过程对32位也适用)
Github上的coursera课程下载工具有详细的配置安装过程,在windows上其实也是大同小异,闲话少说,开始安装:
1.安装Python2.7.3
从这里下载Python2.7.3对应安装包,双击进行安装,并将python安装目录加入到系统的环境变量中。
2.安装pip
从这里找到Install or Upgrade Setuptools部分,下载文件ez_setup.py,然后在在终端下进入保存该文件的文件夹,我保存在了桌面上,并执行如下命令:
从这里下载文件get-pip.py也保存到桌面上,在终端下执行如下命令:
执行完这个步骤以后会看到Python安装文件夹下的Scripts文件夹中会有很多新产生的文件,如下:
这样就说明pip已经安装成功了,现在进入下一步,使用pip下载安装需要用到的Python依赖库。
3.安装依赖库
为了能够使用刚刚的pip,首先要将pip.exe所在路径加入到系统的环境变量中。
从这里下载coursera课程批量下载程序并解压。解压后的文件夹名称为coursera-master。
在终端下进入coursera-master文件夹,执行如下命令:
pip install -r requirements.txt
安装完成以后就可以下载想要的coursera课程文件了。
4.从coursera网站上下载自己需要的课程文件(以Andrew NG的Machine Learning课程为例)
在终端下进入到步骤3中提及的coursera-master文件夹下
下载的命令格式为:python coursera_dl.py -u <username> -p <password> "<coursename>",其中的<username>替换为自己在coursera注册的用户名,<password> 替换为对应的密码,"<coursename>"替换为对应的课程名称,如Machine Learning的课程网址为:https://class.coursera.org/ml-003/class,课程名称就是标注为红色的部分。
替换后的命令如下:python coursera_dl.py -u ericzjut@gmail.com -p xxxxxxxxxx ml-003
执行完这个命令以后就会看到课程文件开始下载,下载的默认目录就是终端下当前执行命令的目录
执行过程中的错误解决办法:
在执行第4步的时候,会遇到如下错误:
Attempted relative import in non-package
解决办法:
打开coursera_dl.py,将其中代码块
from .cookies import ( AuthenticationFailed, ClassNotFound, get_cookies_for_class, make_cookie_values) from .credentials import get_credentials, CredentialsError from .define import CLASS_URL, ABOUT_URL from .downloaders import get_downloader from .utils import clean_filename, get_anchor_format, mkdir_p, fix_url
把每一个from后面的点号(.)去掉,即改为如下形式:
from cookies import ( AuthenticationFailed, ClassNotFound, get_cookies_for_class, make_cookie_values) from credentials import get_credentials, CredentialsError from define import CLASS_URL, ABOUT_URL from downloaders import get_downloader from utils import clean_filename, get_anchor_format, mkdir_p, fix_url
cookies.py中的13-16行也改为如下的形式:
from six.moves import StringIO from six.moves import http_cookiejar as cookielib from define import AUTH_URL, CLASS_URL, AUTH_REDIRECT_URL, PATH_COOKIES from utils import mkdir_p
在运行就没有问题了,不过这个貌似下载速度较慢。。。