dgorissen / coursera-dl

A script for downloading course material (video's, pdfs, quizzes, etc) from coursera.org
http://dirkgorissen.com/2012/09/07/coursera-dl-a-coursera-download-script/
GNU General Public License v3.0
1.74k stars 300 forks source link

Error: ImportError: cannot import name PY2 #106

Closed Robottinosino closed 10 years ago

Robottinosino commented 10 years ago

from six import print_, PY2 ImportError: cannot import name PY2

GNU/Linux (kernel 3.2.0-4-686-pae) DebianEdu/Skolelinux Python 2.7.3 courseradownloader _version_info__ = (1,5,1)

xu-cheng commented 10 years ago

Do you install the package six?

Robottinosino commented 10 years ago

On 07/11/2013 16:38, Xu Cheng wrote:

Do you install the package |six|?

apt-get install python-six python3-six Reading package lists... Done Building dependency tree Reading state information... Done python-six is already the newest version. python3-six is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Robottinosino commented 10 years ago

On 07/11/2013 17:24, Tino Sino wrote:

On 07/11/2013 16:38, Xu Cheng wrote:

Do you install the package |six|?

apt-get install python-six python3-six Reading package lists... Done Building dependency tree Reading state information... Done python-six is already the newest version. python3-six is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

python -c 'import six; print(six.version); print(six.PY3); print(six.PY2)' 1.1.0 False Traceback (most recent call last): File "", line 1, in AttributeError: 'module' object has no attribute 'PY2'

xu-cheng commented 10 years ago

Your six version is too old. Current version is 1.4. I recommend you upgrade it using pip.

Robottinosino commented 10 years ago

On 07/11/2013 17:29, Xu Cheng wrote:

Your six version is too old. Current version is 1.4. I recommend you upgrade it using pip.

You are right.

Using 1.4 gets rid of that particular error message and solves the problem.

Debian stable's packages are conservatively upgraded and the Wheezy version was a bit too old.

Thank you.

PS: I find it confusing to use both PIP and APT-GET to manage libraries so I just downloaded and extracted the library and updated PYTHONPATH accordingly.

Issue closed.

dgorissen commented 10 years ago

My experience is to always use pip. Avoid using the system package manager for python pkgs. Easier to manager.


Web : http://dirkgorissen.com Twitter : https://twitter.com/elazungu

On Thu, Nov 7, 2013 at 5:32 PM, Tino Sino notifications@github.com wrote:

On 07/11/2013 17:29, Xu Cheng wrote:

Your six version is too old. Current version is 1.4. I recommend you upgrade it using pip.

You are right.

Using 1.4 gets rid of that particular error message and solves the problem.

Debian stable's packages are conservatively upgraded and the Wheezy version was a bit too old.

Thank you.

PS: I find it confusing to use both PIP and APT-GET to manage libraries so I just downloaded and extracted the library and updated PYTHONPATH accordingly.

Issue closed.

— Reply to this email directly or view it on GitHubhttps://github.com/dgorissen/coursera-dl/issues/106#issuecomment-27987280 .

Robottinosino commented 10 years ago

I see why would you feel that way but a valid argument is also the exact converse: the system already uses one package manager, why introduce another one? Before using PIP, perhaps a Debian user should consider making a dpkg of an updated library and distribute it locally as an APT source. Both approaches are tricky when having to flip from one development environment (i.e. a project using a set of libraries with particular dependencies) to another quickly, perhaps multiple times per day. Perhaps you are using https://pypi.python.org/pypi/virtualenv or similar? Mind you, I don't like updating PYTHONPATH ad-hoc either, the above was just a quick hack to force one version over another.