Installing Fabric On Windows (Error No Module Called Readline)

匿名 (未验证) 提交于 2019-12-03 01:48:02

问题:

I'm trying to use the Fabric 0.1.1 deploy tool (http://docs.fabfile.org/) on Windows and we're running into an issue with the readline module. I've been through various threads but can't seem to solve the issue. It's important because we can't deploy applications from Windows based machines.

C:\Documents and Settings\dev\Desktop\deploy>fab Traceback (most recent call last):   File "C:\python\Scripts\fab-script.py", line 8, in      load_entry_point('fabric==0.1.1', 'console_scripts', 'fab')()   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\pkg_resources.py" , line 277, in load_entry_point   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\pkg_resources.py" , line 2180, in load_entry_point   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\pkg_resources.py" , line 1913, in load   File "build\bdist.win32\egg\fabric.py", line 25, in  **ImportError: No module named readline**

Installing the module results in:

**easy_install readline** Searching for readline Reading http://pypi.python.org/simple/readline/ Reading http://www.python.org/ Best match: readline 2.6.4 Downloading http://pypi.python.org/packages/source/r/readline/readline-2.6.4.tar .gz#md5=7568e8b78f383443ba57c9afec6f4285 Processing readline-2.6.4.tar.gz Running readline-2.6.4\setup.py -q bdist_egg --dist-dir c:\docume~1\ji81b9~1.che \locals~1\temp\easy_install-pzkz1a\readline-2.6.4\egg-dist-tmp-szs2ps Traceback (most recent call last):   File "C:\python\Scripts\easy_install-script.py", line 8, in      load_entry_point('setuptools==0.6c9', 'console_scripts', 'easy_install')()   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman d\easy_install.py", line 1671, in main   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman d\easy_install.py", line 1659, in with_ei_usage   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman d\easy_install.py", line 1675, in    File "c:\python\lib\distutils\core.py", line 152, in setup     dist.run_commands()   File "c:\python\lib\distutils\dist.py", line 975, in run_commands     self.run_command(cmd)   File "c:\python\lib\distutils\dist.py", line 995, in run_command     cmd_obj.run()   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman d\easy_install.py", line 211, in run   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman d\easy_install.py", line 446, in easy_install   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman d\easy_install.py", line 476, in install_item   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman d\easy_install.py", line 655, in install_eggs   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman d\easy_install.py", line 930, in build_and_install   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\comman d\easy_install.py", line 919, in run_setup   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\sandbo x.py", line 27, in run_setup   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\sandbo x.py", line 63, in run   File "c:\python\lib\site-packages\setuptools-0.6c9-py2.6.egg\setuptools\sandbo x.py", line 29, in    File "setup.py", line 93, in  AttributeError: 'module' object has no attribute 'symlink'

Has anybody solved this issue or can anybody suggest a workaround?

回答1:

The readline module you are trying to install with easy_install is for OS X, not windows. There are Windows-compatible replacements for readline out there but perhaps you should first try updating fabric itself to a more current version (0.9 is out there now).

Grepping the source of the 0.9 version does not find any dependencies on readline.



回答2:

Following these steps exactly worked for me:

1) Installed using the MSI installer for x86 from here.

2) Installed in the default C:\Python27 directory.

3) Create a new directory: C:\Python27\Scripts

4) Added C:\Python27 and C:\Python27\Scripts to the system path:

5) Download the distribute_setup.py from here into C:\Python27\Scripts

6) Open a command line, navigate to C:\Python27\Scripts, run: 'python distribute_setup.py'

7) now run 'easy_install pip'

8) now run 'pip install fabric'

9) You should get an error saying PyCrypto couldn't install. You can download the pre-build Windows binary from here. Run this to install PyCrypto.

10) run 'pip install fabric' again and it should say everything is installed.

11) in a different directory (let's say c:\dev\hello) create a fabfile.py and add the following code:

def hello(name="world"):     print("Hello %s!" % name)

12) cd to this directory and run 'fab hello:working'. You should see output say

Hello working!  Done.


回答3:

Give this readline a try. It is a module for Windows that allows additional features in IPython that aren't native and might work with what you are trying to do.



回答4:

0.1.1 is an older version, I believe. I have no problem installing Fabric on Windows with ActivePython (w/ PyPM):

C:\> pypm install fabric Ready to perform these actions: The following packages will be installed:  fabric-0.9.0 pycrypto-2.0.1 Get: [pypm.activestate.com] fabric 0.9.0-1 Get: [pypm.activestate.com] pycrypto 2.0.1-1 Installing fabric-0.9.0 Fixing script C:\Users\sridharr\AppData\Roaming\Python\Scripts\fab-script.py Installing pycrypto-2.0.1


回答5:

  1. Download and run easy_install installer for your python version from http://pypi.python.org/pypi/setuptools#downloads . ie: setuptools-0.6c11.win32-py2.6.exe
  2. On the command prompt, lauch easy_install -U fabric to install the last fabric release.


回答6:

Readline should be available with Cygwin, if you want to move your entire stack in that direction.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!