2012-02-03 1 views
4

Я пытаюсь установить Python Fabric на Windows 7 с помощью руководства от Getting Python and Fabric Installed on Windows.Проблемы с установкой Python Fabric на Windows 7

Что я сделал до сих пор:

  • Установленная Python 2.7 в C: \ python27
  • Добавлен в Python-каталогов и Python/Scripts к Windows, System Paths
  • Установленные SetupTools
  • Installed MinGW
  • Добавлен MinGW-Directory на системный путь
  • Modified the distutils.cfg в соответствии с MinGW-Path

Это, казалось, работало нормально до сих пор. Когда я пытаюсь установить Fabric через easy_install Fabric, он начинает загружать файлы, но затем я получаю chmod error.

Using c:\python27\lib\site-packages\fabric-1.3.4-py2.7.egg 
Processing dependencies for fabric 
Searching for pycrypto>=2.1,!=2.4 
Reading http://pypi.python.org/simple/pycrypto/ 
Reading http://pycrypto.sourceforge.net 
Reading http://www.amk.ca/python/code/crypto 
Reading http://www.pycrypto.org/ 
Best match: pycrypto 2.5 
Downloading http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.5.tar.gz 
Processing pycrypto-2.5.tar.gz 
Running pycrypto-2.5\setup.py -q bdist_egg --dist-dir c:\users\birgit\appdata\local\temp\easy_install-nzrlow\pycrypto-2.5\egg-dist-tmp-_pwkm4 
The command "chmod" is spelled wrong or could not be found. 

Traceback (most recent call last): 
File "C:\Python27\Scripts\easy_install-script.py", line 8, in <module> load_entry_point('setuptools==0.6c12dev-r88846', 'console_scripts', 'easy_install')() 
File "C:\Python27\lib\site-packages\setuptools-0.6c12dev_r88846-py2.7.egg\setuptools\command\easy_install.py", line 1712, in main 

... lots and lots of lines... (if they are relevant, I'll post them) 

File "C:\Python27\lib\distutils\dist.py", line 972, in run_command cmd_obj.run() 
File "setup.py", line 269, in run 
RuntimeError: chmod error 

Любые предложения по решению проблемы?

+3

вы пробовали бинарный инсталлятор с неофициального Windows, наборов для пакетов Python Extension: [распределение Base может содержать ткань] (HTTP: // WWW .lfd.uci.edu/~ gohlke/pythonlibs /). – jfs

+0

Неофициальные Windows Binaries помогли решить описанную Проблему! Спасибо! – DIF

+0

У меня такая же проблема с PyCrypto, и я решил ее снова, используя [двоичный установщик] (http://www.voidspace.org.uk/python/modules.shtml#pycrypto), как было предложено в [этом вопросе] (http: //stackoverflow.com/questions/1687283/why-cant-i-just-install-the-pycrypto) - и теперь, наконец, я могу запустить скрипты Python Fabric! – DIF

ответ

8

Мне только что удалось установить ткань на коробке win7, используя информацию из разных мест в сети. Это было очень раздражающе, поэтому, чтобы сэкономить другие разочарования, я собрал следующий список.

  1. Установите пип http://www.pip-installer.org/en/latest/index.html (это легко, следуя инструкциям на веб-сайте, идет без проблем)
  2. запуск из командной строки pip install fabric - вы получите ошибки, некоторые вещи об отсутствующих рукокрылых файлов и т.д., а установка pycrypto.
  3. Скачать прекомпилирована пакет PyCrypto из http://www.voidspace.org.uk/downloads/для вашей версии Python, например, для 2.7 это http://www.voidspace.org.uk/downloads/pycrypto-2.1.0.win32-py2.7.zip
  4. снова запустите из командной строки pip install fabric - на этот раз кажется, что все нормально, пока вы не попытаетесь запустить ткань сценария. Он будет жаловаться на «Нет модуля с именем win32api» и т. Д.
  5. Установите этот недостающий win32api с http://sourceforge.net/projects/pywin32/files/pywin32/ - сначала выберите версию сборки (новейший, возможно), а затем снова .exe-файл для вашей версии Python.

И все готово, ткань должна работать нормально.

+1

будущие путешественники - это творит чудеса! – Alexis

+0

Установка pycrypto не обнаружила мою установку python - но все же сказала, что это удалось - будьте осторожны. – Jody

+0

Pycrypto также не удалось правильно установить. Придется перемещать некоторые файлы вручную из c: \ PythonX \ to c: \ Python27 \. Получил ошибку «Нет модуля с именем OSRNG». Нашел ответ здесь: http://devblog.alexsapps.com/2012/10/solution-to-importerror-no-module-named.html – Jody

1

Если вы используете virtualenv, вам нужно добавить один пункт к ответу Петра Кочанского: при создании virtualenv разрешите ему доступ к системным пакетам, чтобы он мог видеть pycrypto. По умолчанию он запрещает это.

Эти шаги работали для меня:

  1. Установите pycrpyto бинарник http://www.voidspace.org.uk/python/modules.shtml#pycrypto.
  2. Создайте виртуальный env, который может получить доступ к системным пакетам.Например:

    c:\Python27\Scripts\virtualenv.exe --system-site-packages c:\Proj\virtualenv

  3. pip install fabric

+0

Теперь, когда я думаю об этом, Интересно, мог ли я установить pycrypto в virtualenv и не требовался, чтобы разрешить доступ к системным пакетам. Возможно, я попробую в следующий раз. –

+1

Да, вы могли бы использовать 'easy_install' из виртуальной среды:' easy_install. \ Pycrypto-2.6.win32-py2.7.exe'. – jpmc26

0

1.Create virtualenv (я обычно ставлю все мое на рабочем столе)

2.Download двоичная из PyCrypto (соответствующий вашим установленная версия и архитектура python - без поддержки python3 на данный момент) - http://www.voidspace.org.uk/python/modules.shtml

3. Перейдите к исполняемому файлу easy_install (в разделе Lib \ site-packages) в папке virtualenv, которую вы создали, и запустите pycrypto install - «easy_install C: \ path \ to \ the \ download \ pycrypto-2.6.win-amd64-py2. 7.exe»

4.Activate virtualenv и 'пункт установить ткань'