Проблема с импортом python 3.2

В последние несколько дней я пытался устранить неполадки, пытаясь установить дистрибутив, поэтому я могу начать импорт сторонних модулей. Я не использовал python в течение нескольких лет, поэтому я снова вспоминаю все, что было довольно сложно.

Я следил за ошибками в указанных каталогах, но не знаю, что делать дальше.

Я запускаю mac версию 10.8.2 с python 3.2, работающим в Eclipse.

здесь код:

Traceback (most recent call last):
  File "/Volumes/James Hard Drive/Python/Python_Lessons/3rd_Party_Stuff/easy_install.py", line 5, in <module>
    from setuptools.command.easy_install import main
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/distribute-0.6.28-py3.2.egg/setuptools/__init__.py", line 2, in <module>
    from setuptools.extension import Extension, Library
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/distribute-0.6.28-py3.2.egg/setuptools/extension.py", line 5, in <module>
    from setuptools.dist import _get_unpatched
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/distribute-0.6.28-py3.2.egg/setuptools/dist.py", line 6, in <module>
    from setuptools.command.install import install
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/distribute-0.6.28-py3.2.egg/setuptools/command/__init__.py", line 8, in <module>
    from setuptools.command import install_scripts
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/distribute-0.6.28-py3.2.egg/setuptools/command/install_scripts.py", line 3, in <module>
    from pkg_resources import Distribution, PathMetadata, ensure_directory
  File "/Volumes/James Hard Drive/Python/Python_Lessons/3rd_Party_Stuff/pkg_resources.py", line 45
    def _bypass_ensure_directory(name, mode=0777):
                                               ^
SyntaxError: invalid token

Ответ 1

Чтобы установить дистрибутив (и pip, virtualenv):

#!/bin/bash
# download latest virtualenv.py
wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py

# create a bootstrap virtual environment in ./venv directory
python3 virtualenv.py venv

Чтобы активировать virtualenv:

$ . ./venv/bin/activate

Теперь вы можете использовать pip, easy_install для установки других пакетов или использовать virtualenv-3.x для создания новых virtualenvs.

Если вы используете много virtualenvs (разные проекты, разные версии python); вы можете pip install virtualenvwrapper управлять ими легко, например, workon/mkvirtualenv/rmvirtualenv.

Ответ 2

Проблема в том, что Python 3 интерпретирует восьмеричные числа иначе, чем Python 2.x. В 2.x вы можете просто префикс числа с помощью 0, чтобы указать, что он восьмеричный. В Python 3 вы префикс его 0o, поэтому ваш номер должен быть 0o777.

def _bypass_ensure_directory(name, mode=0o777):

Подробнее см. http://docs.python.org/release/3.0.1/whatsnew/3.0.html#integers.

Ответ 3

Возможно, что файл dist не относится к последней версии. Следите за этим: https://pypi.python.org/pypi/distribute#uninstallation-instructions; и замените вашу папку обычно на Python (версия xxx)\scripts, по большей версии. Это как поднимать эту проблему в моем случае, без всякой ошибки синтаксического анализа в файлах, описанной ранее. Удалите предыдущую версию, установленную для завершения.