Python无法安装PyGObject

时间:2015-11-23 00:32:32

标签: python windows python-3.x pip pygobject

我尝试通过pip安装pygobject

pip install --user PyGObject

但我没有工作:

Collecting PyGObject
  Using cached pygobject-2.28.3.tar.bz2
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 20, in <module>
      File "C:\Users\A\AppData\Local\Temp\pip-build-phby_jwb\PyGObject\
setup.py", line 272
        raise SystemExit, 'ERROR: Nothing to do, gio could not be found and is
 essential.'
                        ^
    SyntaxError: invalid syntax

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\A\AppData\Local\Temp\pip-build-phby_jwb\PyGObject

我的python版本v3.5.0:374f501f4567, 现在我在Windows 7上工作

3 个答案:

答案 0 :(得分:7)

自2017年2月起,您可以直接通过pip:pip install pygobject安装pygobject。它需要安装一些软件包。

在此之前,它需要一段时间,但是可以使用pip安装pygobject,因为this commit

但pp上的pygobject并不是,所以你必须指定git或tarball URL:

  • git+https://git.gnome.org/browse/pygobject
  • https://download.gnome.org/sources/pygobject/3.22/pygobject-3.22.0.tar.xz

后者仅适用于pygobject 3.22+,它应该发生around mid-september 2016。 (3.21.1应该是第一个可安装pip的开发版本)

答案 1 :(得分:1)

对于Windows

  1. 转到http://www.msys2.org/并下载x86_64安装程序
  2. 按照页面上的说明设置基本环境
  3. 运行C:\msys64\mingw32.exe-将会弹出一个终端窗口
  4. 执行pacman -Suy
  5. 执行pacman -S mingw-w64-i686-gtk3 mingw-w64-i686-python3-gobject
  6. 要测试GTK 3是否正常运行,可以运行gtk3-demo
  7. 将您创建的hello.py脚本复制到C:\msys64\home\<username>
  8. 在mingw32终端中执行python3 hello.py-应该会出现一个窗口。

对于ubuntu / Debian

安装系统提供的PyGObject

  1. 打开一个终端
  2. 执行sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0
  3. 将目录更改为可以找到您的hello.py脚本的目录(例如cd Desktop
  4. 运行python3 hello.py

通过pip从PyPI安装

  1. 打开终端并输入您的虚拟环境
  2. 执行
    sudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0
  3. 执行pip3 install pycairo来构建和安装Pycairo
  4. 执行pip3 install PyGObject来构建和安装PyGObject
  5. 将工作目录更改为可以找到您的hello.py脚本的位置
  6. 运行python3 hello.py

您可以阅读更多here

答案 2 :(得分:0)

我将添加我一直在使它在各种项目中无缝运行的内容。

它使用 GNU Make ,通过提供一个venv目标,该目标可用作其他目标的依赖项,以确保正确创建虚拟环境。

venv目标本身取决于requirements.txt,尽管它是可配置的;标准的python需求文件。

其中包含一个目标test作为示例,说明了如何使用它。

技巧是创建到已安装系统软件包的符号链接。 ln -s ${DIST_PACKAGES}/gi ${VENV_NAME}/lib/python${PYTHON_VER}/site-packages/gi,其中$DIST_PACKAGE是python安装的库在系统上的位置。

对于不熟悉make的用户。在项目的根目录中创建一个名为Makefile的文件,复制内容,然后发出命令make configure && make venv

Makefile

# directory to store virtual environment
VENV_NAME=venv

# python runtime version
PYTHON_VER=3.6

# python executble
PYTHON=${VENV_NAME}/bin/python${PYTHON_VER}

# python local libraries location
DIST_PACKAGES=/usr/lib/python3/dist-packages

# pip requirements file
REQUIREMENTS=requirements.txt

configure:      ## Install required debian packages.
    sudo apt-get -y install python${PYTHON_VER} python3-pip libgirepository1.0-dev
    python3 -m pip install virtualenv pygobject
    make venv

venv:           ## Recreates the virtual environment if needed.
venv: $(VENV_NAME)/bin/activate
$(VENV_NAME)/bin/activate: ${REQUIREMENTS}
    test -d $(VENV_NAME) || virtualenv -p python${PYTHON_VER} $(VENV_NAME)
    ${PYTHON} -m pip install -U pip
    ${PYTHON} -m pip install -r ${REQUIREMENTS}
    ln -s ${DIST_PACKAGES}/gi ${VENV_NAME}/lib/python${PYTHON_VER}/site-packages/gi
    touch $@

test:           ## Runs the test suite.
test: venv
    $(PYTHON) -m pytest tests