tkinter inter-windows 拖放支持
tkinter inter-windows drag and drop support
我正试图帮助 tkdnd 的所有者生成一个 wheel 并将其分发到 Pypi,这样用户就可以使用简单的 pip install TkinterDnD2
.
安装 tkdnd 扩展
我这两天一直在找这个'challange',但到目前为止还不能自己解决,但我相信对python打包和安装过程有深刻理解的人可以帮忙在短时间内解决。
目前,为了获得此扩展功能,您需要执行以下步骤 (as mentioned here):
- download the compiled tkdnd files 你的 os。现在转到您的 base interpreter directory/tcl 并将此文件夹复制到下面。例如:
--<python3.9-directory>
--tcl
--tkdnd2.9.2
...
...
注意 - 如果我在导入的 TkinterDnD2
项目的 venv 中创建匹配的 tcl/tkdnd2.9.2 目录,它对我不起作用
- 现在 download the python wrapper 并将其添加到您的 venv 站点包目录(或基本解释器,这无关紧要)。
所以将导入 TkinterDnD2 的 python 项目将如下所示:
--<python-test-project>
--venv
--Lib
--site-packages
--TkinterDnD2
...
...
现在可以成功 运行 tkdnd 扩展。
您可能会说这与安装普通的 python 库不太一样。
这里的问题是额外的 tkdnd2.9.2 文件夹需要位于基本解释器的 tcl 文件夹中。
也许 pos可以使用 setup.py 中的 package_data
和 data_files
告诉 python 在从车轮安装,但我不确定。见 Packaging and distributing projects
供完整参考。
不完整setup.py:
import setuptools
with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()
setuptools.setup(
name="TkinterDnD2",
version="2.9.2",
author="petasis",
description="TkDND is an extension that adds native drag & drop capabilities to the Tk toolkit.",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/petasis/tkdnd",
project_urls={
"Bug Tracker": "https://github.com/petasis/tkdnd/issues",
},
classifiers=[
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
],
packages=setuptools.find_packages(),
python_requires=">=2, >=3",
# some extra logic probably belong here
# ...
)
您可以跟踪问题 here,其中包括一些额外的讨论。
非常有用的 Whosebug 问题:
- How to Install and Use TkDnD with Python Tkinter on OSX?
非常有帮助的指南:
- Packaging and distributing projects
- Packaging Python Projects
- Python Bindings: Calling C or C++ From Python
任何帮助将不胜感激!
只是回答其他人像我一样被困了数周的情况。
您可以在此处查看 pmgagne 创建的 dist 存储库:
https://github.com/pmgagne/tkinterdnd2
该包尚未在pypi上发布,但您可以按照我在这个问题上打开的说明构建一个轮子并安装它:https://github.com/pmgagne/tkinterdnd2/issues/5
希望作者能尽快构建并发布它,这样您就可以简单地执行 python -m pip install tkinterdnd2
并享受 tkinter 间 windows 拖放支持!
如果您不想自己构建它,请下载轮子:tkinterdnd2-0.3.0-py2.py3-none-any.zip
解压缩 zip 然后你可以做 python -m pip install tkinterdnd2-0.3.0-py2.py3-none-any.whl
然后你就可以 import tkinterdnd2
在你的 python 项目中。
更新
作者没有回复所以我forked它自己发表了。
您现在可以简单地使用
安装
pip install tkinterdnd2
尽情享受吧!
我正试图帮助 tkdnd 的所有者生成一个 wheel 并将其分发到 Pypi,这样用户就可以使用简单的 pip install TkinterDnD2
.
我这两天一直在找这个'challange',但到目前为止还不能自己解决,但我相信对python打包和安装过程有深刻理解的人可以帮忙在短时间内解决。
目前,为了获得此扩展功能,您需要执行以下步骤 (as mentioned here):
- download the compiled tkdnd files 你的 os。现在转到您的 base interpreter directory/tcl 并将此文件夹复制到下面。例如:
--<python3.9-directory>
--tcl
--tkdnd2.9.2
...
...
注意 - 如果我在导入的 TkinterDnD2
项目的 venv 中创建匹配的 tcl/tkdnd2.9.2 目录,它对我不起作用- 现在 download the python wrapper 并将其添加到您的 venv 站点包目录(或基本解释器,这无关紧要)。 所以将导入 TkinterDnD2 的 python 项目将如下所示:
--<python-test-project>
--venv
--Lib
--site-packages
--TkinterDnD2
...
...
现在可以成功 运行 tkdnd 扩展。
您可能会说这与安装普通的 python 库不太一样。 这里的问题是额外的 tkdnd2.9.2 文件夹需要位于基本解释器的 tcl 文件夹中。
也许 pos可以使用 setup.py 中的 package_data
和 data_files
告诉 python 在从车轮安装,但我不确定。见 Packaging and distributing projects
供完整参考。
不完整setup.py:
import setuptools
with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()
setuptools.setup(
name="TkinterDnD2",
version="2.9.2",
author="petasis",
description="TkDND is an extension that adds native drag & drop capabilities to the Tk toolkit.",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/petasis/tkdnd",
project_urls={
"Bug Tracker": "https://github.com/petasis/tkdnd/issues",
},
classifiers=[
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
],
packages=setuptools.find_packages(),
python_requires=">=2, >=3",
# some extra logic probably belong here
# ...
)
您可以跟踪问题 here,其中包括一些额外的讨论。
非常有用的 Whosebug 问题:
- How to Install and Use TkDnD with Python Tkinter on OSX?
非常有帮助的指南:
- Packaging and distributing projects
- Packaging Python Projects
- Python Bindings: Calling C or C++ From Python
任何帮助将不胜感激!
只是回答其他人像我一样被困了数周的情况。
您可以在此处查看 pmgagne 创建的 dist 存储库: https://github.com/pmgagne/tkinterdnd2
该包尚未在pypi上发布,但您可以按照我在这个问题上打开的说明构建一个轮子并安装它:https://github.com/pmgagne/tkinterdnd2/issues/5
希望作者能尽快构建并发布它,这样您就可以简单地执行 python -m pip install tkinterdnd2
并享受 tkinter 间 windows 拖放支持!
如果您不想自己构建它,请下载轮子:tkinterdnd2-0.3.0-py2.py3-none-any.zip
解压缩 zip 然后你可以做 python -m pip install tkinterdnd2-0.3.0-py2.py3-none-any.whl
然后你就可以 import tkinterdnd2
在你的 python 项目中。
更新
作者没有回复所以我forked它自己发表了。 您现在可以简单地使用
安装pip install tkinterdnd2
尽情享受吧!