在 Windows 上安装 Fabric(错误 No Module Called Readline)

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/1917193/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 13:36:24  来源:igfitidea点击:

Installing Fabric On Windows (Error No Module Called Readline)

pythonwindowsdeploymentfabric

提问by Jon

I'm trying to use the Fabric 0.1.1deploy tool (http://docs.fabfile.org/) on Windows and we're running into an issue with the readlinemodule. 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.

我正在尝试在 Windows 上使用Fabric 0.1.1部署工具 ( http://docs.fabfile.org/),但我们遇到了readline模块的问题。我已经通过各种线程,但似乎无法解决问题。这很重要,因为我们无法从基于 Windows 的机器部署应用程序。

C:\Documents and Settings\dev\Desktop\deploy>fab
Traceback (most recent call last):
  File "C:\python\Scripts\fab-script.py", line 8, in <module>
    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 <module>
**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 <module>
    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 <lambda>
  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 <lambda>
  File "setup.py", line 93, in <module>
AttributeError: 'module' object has no attribute 'symlink'

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

有没有人解决过这个问题,或者有人可以提出解决方法吗?

回答by Ned Deily

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

readline您尝试安装的模块easy_install适用于 OS X,而不是 Windows。有 Windows 兼容的 readline 替代品,但也许您应该首先尝试将fabric自身更新到更新的版本(现在有0.9)。

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

Grepping 0.9 版本的源代码没有发现任何依赖于readline.

回答by Scott

Following these steps exactly worked for me:

遵循这些步骤对我来说完全有效:

1) Installed using the MSI installerfor x86 from here.

1)从这里使用x86的MSI 安装程序安装

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

2)安装在默认的C:\Python27目录下。

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

3)新建目录:C:\Python27\Scripts

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

4) 将 C:\Python27 和 C:\Python27\Scripts 添加到系统路径:

Advanced system settings>Environment Variables>Path

高级系统设置>环境变量>路径

5) Download the distribute_setup.pyfrom hereinto C:\Python27\Scripts

5)从这里下载distribute_setup.py到C:\Python27\Scripts

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

6) 打开命令行,导航到 C:\Python27\Scripts,运行:'python distribution_setup.py'

7) now run 'easy_install pip'

7)现在运行'easy_install pip'

8) now run 'pip install fabric'

8)现在运行'pip install fabric'

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

9) 你应该得到一个错误,说 PyCrypto 无法安装。您可以从这里下载预构建的Windows 二进制文件。运行它来安装 PyCrypto。

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

10) 再次运行“pip install fabric”,它应该说一切都已安装。

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

11) 在不同的目录(假设是 c:\dev\hello)中创建一个 fabfile.py 并添加以下代码:

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

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

12) cd 到此目录并运行“fab hello:working”。你应该看到输出说

Hello working!

Done.

回答by Rigsby

Give this readlinea 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.

给这个的ReadLine一试。它是一个适用于 Windows 的模块,它允许 IPython 中的附加功能不是本机的,并且可能与您正在尝试做的事情一起工作。

回答by Sridhar Ratnakumar

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

我相信 0.1.1 是旧版本。我在 Windows 上使用ActivePython(带PyPM)安装Fabric没有问题:

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

回答by Pierre-Jean Coudert

  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 fabricto install the last fabricrelease.
  1. http://pypi.python.org/pypi/setuptools#downloads下载并运行适用于您的 Python 版本的 easy_install 安装程序。IE:setuptools-0.6c11.win32-py2.6.exe
  2. 在命令提示符下,启动easy_install -U fabric以安装最新的结构版本。

回答by pestilence669

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

如果您想将整个堆栈朝那个方向移动,Cygwin 应该可以使用 Readline。