#python #pip #package #freeglut
#python #pip #пакет #freeglut
Вопрос:
Я создаю пакет Python, и я хотел бы использовать freeglut. Есть ли какой-либо способ сделать так, чтобы при установке пакета он находил пакет freeglut для меня и устанавливал его? Я знаю, что если я просто установлю PyOpenGL из pip, я не смогу использовать freeglut, но если я использую пакет из https://www.lfd.uci.edu /~gohlke/pythonlibs/#pyopengl, это работает. Однако это только для Windows. Я также попытался добавить ссылку выше в качестве зависимости, загрузив ее на github, а затем добавив pyopengl @ git https://raw.githubusercontent.com/rayzchen/PyUnity/master/PyOpenGL-3.1.5-cp38-cp38-win32.whl
в качестве зависимости, но я получаю ошибку TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType
. Я также пытался использовать dependency_links
в программе установки, но безуспешно. Это мой setup.py:
from setuptools import setup, find_packages
import os
pyopengl_link = "pyopengl @ git https://raw.githubusercontent.com/rayzchen/PyUnity/master/PyOpenGL-3.1.5-cp38-cp38-win32.whl"
pyopengl_accelerate_link = "pyopengl-accelerate @ git https://raw.githubusercontent.com/rayzchen/PyUnity/master/PyOpenGL_accelerate-3.1.5-cp38-cp38-win32.whl"
if os.name == "nt":
links = [pyopengl_link, pyopengl_accelerate_link]
else:
links = []
print(links)
with open("README.md", "r") as fh:
long_description = fh.read()
setup(
name = "pyunity",
version = "0.0.1",
author = "Ray Chen",
author_email = "tankimarshal2@gmail.com",
description = "A Python implementation of the Unity Engine",
long_description = long_description,
long_description_content_type = "text/markdown",
url = "https://github/rayzchen/PyUnity",
packages = find_packages(),
classifiers = [
"Programming Language :: Python :: 3.7",
"License :: OSI Approved :: MIT License",
"Operating System :: Microsoft :: Windows :: Windows 10",
],
dependency_links = links,
install_requires = [
"glfw",
"pygame",
*links,
],
python_requires = '>=3.7',
)
Это было просто для развлечения, поэтому, пожалуйста, не критикуйте меня за попытку реализовать Unity на Python.
Ответ №1:
Один из способов, который я нашел, заключался в том, чтобы поместить pyopengl @ https://github.com/rayzchen/pyunity/blob/master/PyOpenGL-3.1.5-cp38-cp38-win32.whl
в качестве решения, а не pyopengl @ git https://github.com/rayzchen/pyunity/blob/master/PyOpenGL-3.1.5-cp38-cp38-win32.whl
. Я думаю, что git
будет клонировать репозиторий, а затем создавать пакет.