python - 在 Windows 上使用适用于 Python 2 的 pip 安装requirements.txt

标签 python windows python-2.7 requirements.txt

我正在尝试使用requirements.txt 在远程服务器上安装远程环境。

所以首先我去了服务器去了virtualenv

source bin/activate 并输入:

pip freeze > requirements.txt 

然后在我的 Windows 机器上运行:

pip2 install -r requirements.txt

我目前在服务器和 Windows 机器上有 Python27。

这是我的 Windows 8 上的输出:

Collecting Cap1xxx==0.1.3 (from -r requirements.txt (line 1))
  Using cached Cap1xxx-0.1.3.tar.gz
Collecting ExplorerHAT==0.4.2 (from -r requirements.txt (line 2))
  Using cached ExplorerHAT-0.4.2.tar.gz
Collecting Flask==0.10.1 (from -r requirements.txt (line 3))
  Using cached Flask-0.10.1.tar.gz
Collecting Jinja2==2.7.3 (from -r requirements.txt (line 4))
  Using cached Jinja2-2.7.3.tar.gz
Collecting MarkupSafe==0.23 (from -r requirements.txt (line 5))
  Using cached MarkupSafe-0.23.tar.gz
Collecting Pillow==2.6.1 (from -r requirements.txt (line 6))
  Using cached Pillow-2.6.1-cp27-none-win32.whl
Collecting ................. and so on


Collecting urllib3==1.9.1 (from -r requirements.txt (line 43))
  Using cached urllib3-1.9.1-py2-none-any.whl
Requirement already satisfied: virtualenv==15.1.0 in c:\python27\lib\site-packages (from -r requirements.txt (line 44))
Collecting wheel==0.24.0 (from -r requirements.txt (line 45))
  Using cached wheel-0.24.0-py2.py3-none-any.whl
Collecting wsgiref==0.1.2 (from -r requirements.txt (line 46))
  Using cached wsgiref-0.1.2.zip
Collecting RPi.GPIO (from Cap1xxx==0.1.3->-r requirements.txt (line 1))
  Using cached RPi.GPIO-0.6.3.tar.gz
Collecting PyOpenSSL (from ndg-httpsclient==0.3.2->-r requirements.txt (line 22))
Collecting and everything is fine
.............................

然后有一个回溯:

Running setup.py install for RPi.GPIO ... error
        Complete output from command c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\3c8a~1\\appdata\\local\\temp\\pip-build-tvvec2\\RPi.GPIO\\setup.py';f=
    getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record c:\users\3c8a~1\appdata\local\temp\pip
    -kql53i-record\install-record.txt --single-version-externally-managed --compile:
        running install
        running build
        running build_py
        creating build
        creating build\lib.win32-2.7
        creating build\lib.win32-2.7\RPi
        copying RPi\__init__.py -> build\lib.win32-2.7\RPi
        creating build\lib.win32-2.7\RPi\GPIO
        copying RPi\GPIO\__init__.py -> build\lib.win32-2.7\RPi\GPIO
        running build_ext
        building 'RPi._GPIO' extension
        creating build\temp.win32-2.7
        creating build\temp.win32-2.7\Release
        creating build\temp.win32-2.7\Release\source
        C:\Users\Иван\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\python27\include -Ic:\python27\PC /Tcsourc
    e/py_gpio.c /Fobuild\temp.win32-2.7\Release\source/py_gpio.obj
        py_gpio.c
        source/py_gpio.c(87) : error C2143: syntax error : missing ';' before '{'
        source/py_gpio.c(200) : error C2143: syntax error : missing ';' before '{'
        source/py_gpio.c(227) : warning C4047: 'return' : 'PyObject *' differs in levels of indirection from 'int'
        source/py_gpio.c(345) : error C2373: 'output' : redefinition; different type modifiers
                c:\users\Ёў -\appdata\local\temp\pip-build-tvvec2\rpi.gpio\source\constants.h(29) : see declaration of 'output'
        source/py_gpio.c(345) : error C2143: syntax error : missing ';' before '{'
        source/py_gpio.c(359) : warning C4047: 'return' : 'PyObject *' differs in levels of indirection from 'int'
        error: command 'C:\\Users\\\xc8\xe2\xe0\xed\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2

这是我的要求.txt:

Cap1xxx==0.1.3
ExplorerHAT==0.4.2
Flask==0.10.1
Jinja2==2.7.3
MarkupSafe==0.23
Pillow==2.6.1
Werkzeug==0.9.6
argparse==1.2.1
automationhat==0.0.4
blinker==1.3
blinkt==0.1.0
chardet==2.3.0
colorama==0.3.2
drumhat==0.0.5
envirophat==0.0.6
fourletterphat==0.0.2
html5lib==0.999
itsdangerous==0.24
microdotphat==0.1.3
mote==0.0.3
motephat==0.0.2
ndg-httpsclient==0.3.2
numpy==1.8.2
phatbeat==0.0.2
pianohat==0.0.5
picamera==1.13
picraft==1.0
piglow==1.2.4
pyasn1==0.1.7
pyserial==2.6
rainbowhat==0.0.2
requests==2.4.3
scrollphat==0.0.7
scrollphathd==1.0.1
sense-emu==1.0
sense-hat==2.2.0
six==1.8.0
skywriter==0.0.7
sn3218==1.2.7
spidev==3.0
touchphat==0.0.1
twython==3.1.2
urllib3==1.9.1
virtualenv==15.1.0
wheel==0.24.0
wsgiref==0.1.2

我不明白这个回溯以及如何处理这个......

也许是因为一开始我尝试使用从服务器获取的文件不在 vertualenv 中安装依赖项。并且一些痕迹保留在缓存中,但是当我清理 pip 缓存时没有任何变化。

那么这里出现了什么问题以及如何处理呢?

提前致谢!

编辑一个:

问题是 RPI.gpio 仅适用于 Linux 机器(更准确地说是 Raspberry Pi),而我正在尝试将其安装在 Windows 上。

那么我应该以某种方式清理/tmp 或缓存...?

最佳答案

在您的情况下,有些软件包在 Windows 中无法编译。在 Raspberry Pi 中创建一个 virtualenv,在那里安装所有软件包。然后从 Raspberry Pi 复制 site-packages 文件夹并将其粘贴到 Windows 上的 Site-Packages 目录中。这应该工作。

关于python - 在 Windows 上使用适用于 Python 2 的 pip 安装requirements.txt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48184995/

相关文章:

python - 是否有一种矢量化的方式来访问另一列中明确指示的列的值?

python - Django 如何知道我的数据库的路径?

python - 从 dict 创建 numpy 数组

java - 如何在 Java 或 Python 中修改 .docx 模板

c# - 在 C# 项目中自动包含文件

c++ - 用于分析 COM 对象内存泄漏的工具

postgresql - Python PostgreSQL 使用 copy_from 将对象列表复制到表中

windows - 替换 Windows 文件名中的 URL 字符编码(批量)

python - sklearn 中的流水线问题

python - 如何使用 kivy screenmanager 引用其他屏幕中的对象