gpt4 book ai didi

python-3.x - RHEL7 导入 tkinter 在 vi​​rtualenv 中失败

转载 作者:行者123 更新时间:2023-12-02 02:51:32 25 4
gpt4 key购买 nike

在 Redhat 7 和 python3.6 上

我可以毫无错误地导入 tkinter:

Python 3.6.5 (default, Jul 25 2018, 21:22:33)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>>

在一个新的虚拟环境中

Python 3.6.4 (default, Jul 20 2018, 12:22:32)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/ocr1/CRNN_Tensorflow/tkinter/__init__.py", line 36, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'
>>>

附言这是一个全新的 virtualenv,由 virtualenv <name_of_env> 创建命令。

最佳答案

我最终找到了两种不同的方法来解决我的问题。

<强>1。确保创建的 virtualenv 使用相同的 python 版本

从我上面的例子来看,virtualenv版本的python是Python 3.6.4,但是我机器的python版本实际上是Python 3.6.5。

因此,virtualenv <name_of_env>使用 lib 创建Python 3.6.4。要解决这个问题可以使用

virtualenv -p <PYTHON_EXE>, --python=PYTHON_EXE <name_of_env>

virtualenv --python=<PYTHON_EXE> <name_of_env>

指定 python exe 位置。

并使用选项 --system-site-packages包括系统模块。 (感谢 Rob T. 上面的回答)

<强>2。从lib复制你需要的包直接

这个方法其实有点取巧。就去机器 python lib目录并将您需要的包复制到 virtualenv python lib目录

例如:

cd /usr/lib/python3.6.5

cp -a ./tkinter /my_project/venv/lib/

关于python-3.x - RHEL7 导入 tkinter 在 vi​​rtualenv 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51981132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com