在Windows上安装Fabric(错误没有调用Readline的模块)

2024-04-18 11:31:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图在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**

安装模块会导致:

**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'

有人解决过这个问题吗?或者有人能提出解决办法吗?


Tags: installruninpyreadlineegglibpackages
3条回答

试试这个readline。它是一个用于Windows的模块,允许IPython中的其他功能不是本机的,并且可能与您正在尝试的操作一起工作。

遵循这些步骤对我很有效:

1)使用here中x86的MSI installer安装。

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

3)创建一个新目录:C:\Python27\Scripts

4)在系统路径中添加了C:\ Python27和C:\ Python27\Scripts:

Advanced system settings>Environment Variables>Path

5)将distribute_setup.pyhere下载到C:\ Python27\Scripts

6)打开一个命令行,导航到C:\Python27\Scripts,运行:“python distribute\u setup.py”

7)现在运行“easy_install pip”

8)现在运行“pip install fabric”

9)如果说无法安装PyCrypto,则会出现错误。您可以从here下载预构建Windows binary。运行此命令安装PyCrypto。

10)再次运行“pip install fabric”,它应该会显示所有内容都已安装。

11)在另一个目录中(比如说c:\ dev\hello)创建一个fabfile.py并添加以下代码:

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

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

Hello working!

Done.

试图用readline安装的easy_install模块是用于OS X的,而不是windows。有一些与Windows兼容的readline替代品,但也许您应该首先尝试将fabric本身更新为更新的版本(0.9现在就在那里)。

重新映射0.9版本的源文件时,找不到对readline的任何依赖项。

相关问题 更多 >