【问题标题】:Installing Django-Fabric-AWS with pip, invalid syntax?使用 pip 安装 Django-Fabric-AWS,语法无效?
【发布时间】:2015-11-18 23:15:56
【问题描述】:

在 EC2 上部署 Django 的过程中,我正在遵循 this 指南中的一个步骤,该步骤要求我安装 Fabric

在 Pycharm 的终端中,我首先通过运行pip 并在项目目录中确认 pip 正在工作。是的,所以我输入了我被指示的命令,pip install -r fabfile/requirements.txt,它会产生以下内容:

Collecting Fabric==1.4.3 (from -r fabfile/requirements.txt (line 1))
  Using cached Fabric-1.4.3.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 20, in <module>
      File "C:\Users\david\AppData\Local\Temp\1\pip-build-icytzvd1\Fabric\setup.py", line 7, in <module>
        from fabric.version import get_version
      File "C:\Users\david\AppData\Local\Temp\1\pip-build-icytzvd1\Fabric\fabric\version.py", line 104
        print get_version('all')
                        ^
    SyntaxError: invalid syntax

    ----------------------------------------
←[31mCommand "python setup.py egg_info" failed with error code 1 in C:\Users\david\AppData\Local\Temp\1\pip-build-icytzvd1\Fabric←[0m

我未经训练的眼睛看不到我能识别的语法错误。我查看了带有隐藏文件的C:\Users\david\AppData\Local\Temp\1,但没有pip-build-icytzvd1 文件夹。

我对 AWS 完全没有经验。如果这个问题的解决方案值得寻找,我在哪里可以找到解决方案?如果不值得为此寻找解决方案,是否有使用 Nginx、Gunicorn、PostreSQL 和 Amazon AMI 在 EC2 上手动部署 Django 的最新指南?

编辑:

Collecting Fabric
  Downloading Fabric-1.10.2.tar.gz (212kB)
Collecting paramiko>=1.10 (from Fabric)
  Downloading paramiko-1.16.0-py2.py3-none-any.whl (169kB)
Collecting pycrypto!=2.4,>=2.1 (from paramiko>=1.10->Fabric)
  Downloading pycrypto-2.6.1.tar.gz (446kB)
Collecting ecdsa>=0.11 (from paramiko>=1.10->Fabric)
  Downloading ecdsa-0.13-py2.py3-none-any.whl (86kB)
Installing collected packages: pycrypto, ecdsa, paramiko, Fabric
  Running setup.py install for pycrypto
    Complete output from command D:\env\Django\Scripts\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\David\\AppData\\Local\\Temp\\pycharm-packaging0.tmp\\pycrypto\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\David\AppData\Local\Temp\pip-nggph54n-record\install-record.txt --single-version-externally-managed --compile --install-headers D:\env\Django\include\site\python3.5\pycrypto:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.5
    creating build\lib.win-amd64-3.5\Crypto
    copying lib\Crypto\pct_warnings.py -> build\lib.win-amd64-3.5\Crypto
    copying lib\Crypto\__init__.py -> build\lib.win-amd64-3.5\Crypto
    creating build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\hashalgo.py -> build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\HMAC.py -> build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\MD2.py -> build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\MD4.py -> build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\MD5.py -> build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\RIPEMD.py -> build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\SHA.py -> build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\SHA224.py -> build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\SHA256.py -> build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\SHA384.py -> build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\SHA512.py -> build\lib.win-amd64-3.5\Crypto\Hash
    copying lib\Crypto\Hash\__init__.py -> build\lib.win-amd64-3.5\Crypto\Hash
    creating build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\AES.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\ARC2.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\ARC4.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\blockalgo.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\Blowfish.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\CAST.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\DES.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\DES3.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\PKCS1_OAEP.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\PKCS1_v1_5.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\XOR.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    copying lib\Crypto\Cipher\__init__.py -> build\lib.win-amd64-3.5\Crypto\Cipher
    creating build\lib.win-amd64-3.5\Crypto\Util
    copying lib\Crypto\Util\asn1.py -> build\lib.win-amd64-3.5\Crypto\Util
    copying lib\Crypto\Util\Counter.py -> build\lib.win-amd64-3.5\Crypto\Util
    copying lib\Crypto\Util\number.py -> build\lib.win-amd64-3.5\Crypto\Util
    copying lib\Crypto\Util\py3compat.py -> build\lib.win-amd64-3.5\Crypto\Util
    copying lib\Crypto\Util\randpool.py -> build\lib.win-amd64-3.5\Crypto\Util
    copying lib\Crypto\Util\RFC1751.py -> build\lib.win-amd64-3.5\Crypto\Util
    copying lib\Crypto\Util\winrandom.py -> build\lib.win-amd64-3.5\Crypto\Util
    copying lib\Crypto\Util\_number_new.py -> build\lib.win-amd64-3.5\Crypto\Util
    copying lib\Crypto\Util\__init__.py -> build\lib.win-amd64-3.5\Crypto\Util
    creating build\lib.win-amd64-3.5\Crypto\Random
    copying lib\Crypto\Random\random.py -> build\lib.win-amd64-3.5\Crypto\Random
    copying lib\Crypto\Random\_UserFriendlyRNG.py -> build\lib.win-amd64-3.5\Crypto\Random
    copying lib\Crypto\Random\__init__.py -> build\lib.win-amd64-3.5\Crypto\Random
    creating build\lib.win-amd64-3.5\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\FortunaAccumulator.py -> build\lib.win-amd64-3.5\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\FortunaGenerator.py -> build\lib.win-amd64-3.5\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\SHAd256.py -> build\lib.win-amd64-3.5\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\__init__.py -> build\lib.win-amd64-3.5\Crypto\Random\Fortuna
    creating build\lib.win-amd64-3.5\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\fallback.py -> build\lib.win-amd64-3.5\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\nt.py -> build\lib.win-amd64-3.5\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\posix.py -> build\lib.win-amd64-3.5\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\rng_base.py -> build\lib.win-amd64-3.5\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\__init__.py -> build\lib.win-amd64-3.5\Crypto\Random\OSRNG
    creating build\lib.win-amd64-3.5\Crypto\SelfTest
    copying lib\Crypto\SelfTest\st_common.py -> build\lib.win-amd64-3.5\Crypto\SelfTest
    copying lib\Crypto\SelfTest\__init__.py -> build\lib.win-amd64-3.5\Crypto\SelfTest
    creating build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\common.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_AES.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_ARC2.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_ARC4.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_Blowfish.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_CAST.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_DES.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_DES3.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_pkcs1_15.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_pkcs1_oaep.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_XOR.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\__init__.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Cipher
    creating build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\common.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_HMAC.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_MD2.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_MD4.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_MD5.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_RIPEMD.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA224.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA256.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA384.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA512.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\__init__.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Hash
    creating build\lib.win-amd64-3.5\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_AllOrNothing.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_chaffing.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_KDF.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_rfc1751.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\__init__.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Protocol
    creating build\lib.win-amd64-3.5\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_DSA.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_ElGamal.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_importKey.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_RSA.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\__init__.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\PublicKey
    creating build\lib.win-amd64-3.5\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\test_random.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\test_rpoolcompat.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\test__UserFriendlyRNG.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\__init__.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random
    creating build\lib.win-amd64-3.5\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaAccumulator.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaGenerator.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\test_SHAd256.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\__init__.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random\Fortuna
    creating build\lib.win-amd64-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_fallback.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_generic.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_nt.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_posix.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_winrandom.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\__init__.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Random\OSRNG
    creating build\lib.win-amd64-3.5\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_asn1.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_Counter.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_number.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_winrandom.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\__init__.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Util
    creating build\lib.win-amd64-3.5\Crypto\SelfTest\Signature
    copying lib\Crypto\SelfTest\Signature\test_pkcs1_15.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Signature
    copying lib\Crypto\SelfTest\Signature\test_pkcs1_pss.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Signature
    copying lib\Crypto\SelfTest\Signature\__init__.py -> build\lib.win-amd64-3.5\Crypto\SelfTest\Signature
    creating build\lib.win-amd64-3.5\Crypto\Protocol
    copying lib\Crypto\Protocol\AllOrNothing.py -> build\lib.win-amd64-3.5\Crypto\Protocol
    copying lib\Crypto\Protocol\Chaffing.py -> build\lib.win-amd64-3.5\Crypto\Protocol
    copying lib\Crypto\Protocol\KDF.py -> build\lib.win-amd64-3.5\Crypto\Protocol
    copying lib\Crypto\Protocol\__init__.py -> build\lib.win-amd64-3.5\Crypto\Protocol
    creating build\lib.win-amd64-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\DSA.py -> build\lib.win-amd64-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\ElGamal.py -> build\lib.win-amd64-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\pubkey.py -> build\lib.win-amd64-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\RSA.py -> build\lib.win-amd64-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\_DSA.py -> build\lib.win-amd64-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\_RSA.py -> build\lib.win-amd64-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\_slowmath.py -> build\lib.win-amd64-3.5\Crypto\PublicKey
    copying lib\Crypto\PublicKey\__init__.py -> build\lib.win-amd64-3.5\Crypto\PublicKey
    creating build\lib.win-amd64-3.5\Crypto\Signature
    copying lib\Crypto\Signature\PKCS1_PSS.py -> build\lib.win-amd64-3.5\Crypto\Signature
    copying lib\Crypto\Signature\PKCS1_v1_5.py -> build\lib.win-amd64-3.5\Crypto\Signature
    copying lib\Crypto\Signature\__init__.py -> build\lib.win-amd64-3.5\Crypto\Signature
    Skipping optional fixer: buffer
    Skipping optional fixer: idioms
    Skipping optional fixer: set_literal
    Skipping optional fixer: ws_comma
    warning: PCTBuildPy: byte-compiling is disabled, skipping.

    running build_ext
    warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.
    building 'Crypto.Random.OSRNG.winrandom' extension
    error: [WinError 2] The system cannot find the file specified

【问题讨论】:

  • 我的解决方案有效吗?
  • 很遗憾pip install Fabric没用,我刚才又试了一遍,把错误贴在了OP里。我放弃并手动完成所有操作,但如果它可以工作,我仍然想使用织物。
  • 这是在安装 pycrypto 依赖结构时出错。并且您似乎在 Windows 上。在 Windows 上安装库通常很痛苦。在 Windows 上搜索 pycrypto 或确切的错误可能会揭示一些东西。

标签: python django amazon-web-services amazon-ec2


【解决方案1】:

Fabric 1.4.3 这么旧。当前版本是1.10.2 真的很旧。您找不到该临时文件夹的原因是因为它是在您尝试安装fabric时由pip创建并在之后清除的。但是,您可以看到当前的version.py,或者如果您查看项目,您将能够看到您尝试安装的版本。当前版本代码看起来与您发布的有点不同:

print(get_version('all'))

但是我不明白为什么下面的代码也会产生错误。

print get_version('all')

您为什么不使用以下需求文件安装最新版本的 Frabric:https://github.com/fabric/fabric/blob/master/dev-requirements.txt?您可能已经安装了要求。在这种情况下,只需这样做

pip install Fabric

【讨论】:

  • 我看到这个话题是从 2015 年开始的,但是对于后代,我想提一下 python3 需要 print 与悬垂一起使用。
【解决方案2】:

我也遇到了同样的问题。 e5c5 是正确的。这是一个 pycrypto 安装问题。尝试将 pycrypto 安装为独立的 pip 安装。它可能会抛出错误消息并要求您安装 Visual Studio c++。

warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. building 'Crypto.Random.OSRNG.winrandom' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

【讨论】:

    猜你喜欢
    • 2014-06-25
    • 2013-11-06
    • 2016-07-26
    • 2021-04-02
    • 1970-01-01
    • 2019-05-01
    • 2015-07-10
    • 2019-02-27
    • 2015-10-26
    相关资源
    最近更新 更多