我正在尝试使用distutils
编译程序,但我想确保用户在安装我的软件包之前安装了Tkinter。
我的Google搜索未能显示任何有用的信息,任何线索我是如何做到的?
谢谢, 韦恩
答案 0 :(得分:2)
您可以拥有一个继承自install
的类,然后执行此操作:
from distutils.command.install import install
class Install(install):
def run(self):
if not check_dependencies():
# Tkinter was not installed, handle this here
install.run(self) # proceed with the installation
def check_dependencies():
try:
return __import__('Tkinter')
except ImportError:
return None
答案 1 :(得分:0)
Tkinter位于python standard library,始终应该在那里。
答案 2 :(得分:0)
不幸的是,没有标准的跨平台方式来强制安装Tkinter
。 Tkinter
是Python标准库的一部分,因此剥离Tkinter
或其他标准库模块并将它们打包为可选实体的经销商正在使用他们自己的包管理工具这样做,一般来说,你需要知道每个发行版的具体命令。如果Tkinter
(或tkinter
中的Python 3
)不可导入,那么您通常可以做的最好的选择是优化测试和失败,例如:
import sys
try:
import Tkinter
except ImportError:
sys.exit("Tkinter not found")