在 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
Installing Fabric On Windows (Error No Module Called Readline)
提问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 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.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 添加到系统路径:
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
回答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
- 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
- On the command prompt, lauch
easy_install -U fabric
to install the last fabricrelease.
- 从http://pypi.python.org/pypi/setuptools#downloads下载并运行适用于您的 Python 版本的 easy_install 安装程序。IE:
setuptools-0.6c11.win32-py2.6.exe
- 在命令提示符下,启动
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。