Python 无法安装 PyGObject
Python cannot install 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
上工作
上游 PyGObject 不支持这个。查看PyGObject win32 project or the MSYS2项目轻松获取。
自2017年2月起,可以直接通过pip安装pygobject:pip install pygobject
。不过,它需要安装一些软件包。
在此之前,它花了一段时间,但可以用 pip 安装 pygobject,因为 this commit。
pygobject 不在 pypi 上,所以你必须指定 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-installable 开发版本)
对于windows
- 转到 http://www.msys2.org/ 并下载 x86_64 安装程序
- 按照页面上的说明设置基本环境
- 运行
C:\msys64\mingw32.exe
- 终端 window 应该弹出
- 执行
pacman -Suy
- 执行
pacman -S mingw-w64-i686-gtk3 mingw-w64-i686-python3-gobject
- 要测试 GTK 3 是否正常工作,您可以 运行
gtk3-demo
- 将您创建的
hello.py
脚本复制到 C:\msys64\home\<username>
- 在 mingw32 终端执行
python3 hello.py
- 应该会出现 window。
对于 ubuntu / Debian
安装系统提供的PyGObject:
- 打开一个终端
- 执行
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0
- 将目录更改为可以找到
hello.py
脚本的目录(例如 cd Desktop
)
- 运行
python3 hello.py
使用 pip 从 PyPI 安装:
- 打开一个终端并进入你的虚拟环境
- 执行
sudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0
- 执行
pip3 install pycairo
构建并安装Pycairo
- 执行
pip3 install PyGObject
构建并安装PyGObject
- 将工作目录更改为
hello.py
脚本所在的目录
- 运行
python3 hello.py
你可以阅读更多here
我将添加我一直在使用的内容,以使其在各种项目中无缝运行。
它使用 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
.
生成文件
# 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
我尝试通过 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
上工作上游 PyGObject 不支持这个。查看PyGObject win32 project or the MSYS2项目轻松获取。
自2017年2月起,可以直接通过pip安装pygobject:pip install pygobject
。不过,它需要安装一些软件包。
在此之前,它花了一段时间,但可以用 pip 安装 pygobject,因为 this commit。
pygobject 不在 pypi 上,所以你必须指定 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-installable 开发版本)
对于windows
- 转到 http://www.msys2.org/ 并下载 x86_64 安装程序
- 按照页面上的说明设置基本环境
- 运行
C:\msys64\mingw32.exe
- 终端 window 应该弹出 - 执行
pacman -Suy
- 执行
pacman -S mingw-w64-i686-gtk3 mingw-w64-i686-python3-gobject
- 要测试 GTK 3 是否正常工作,您可以 运行
gtk3-demo
- 将您创建的
hello.py
脚本复制到C:\msys64\home\<username>
- 在 mingw32 终端执行
python3 hello.py
- 应该会出现 window。
对于 ubuntu / Debian
安装系统提供的PyGObject:
- 打开一个终端
- 执行
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0
- 将目录更改为可以找到
hello.py
脚本的目录(例如cd Desktop
) - 运行
python3 hello.py
使用 pip 从 PyPI 安装:
- 打开一个终端并进入你的虚拟环境
- 执行
sudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0
- 执行
pip3 install pycairo
构建并安装Pycairo - 执行
pip3 install PyGObject
构建并安装PyGObject - 将工作目录更改为
hello.py
脚本所在的目录 - 运行
python3 hello.py
你可以阅读更多here
我将添加我一直在使用的内容,以使其在各种项目中无缝运行。
它使用 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
.
生成文件
# 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