On 05/06/2018 05:16 PM, boB Stepp wrote:
On Sun, May 6, 2018 at 11:05 AM, Jim <jf_byr...@comcast.net> wrote:
In a prior thread you guys helped me fix a problem with pip after I upgraded
an installed version of python 3.6 on my Mint 18 system. Pip would not run
in my python 3.6 virtual environment. The fix was to use synaptic to install
python3-distutils. I thought everything was ok until I tried to run a old
script from a different VE using python 3.5 which could not import tkinter.

I have 4 versions of python on this system:
system Python2 = 2.7.12 (default)
system Python3 = 3.5.2 (default)
a VE called env = 3.5.2
a Ve called env36 = 3.6.5

This is the error I get trying to import tkinter in env, I also get the same
error if I try to import it in system python3.

jfb@jims-mint18 ~ $ source /home/jfb/EVs/env/bin/activate
(env) jfb@jims-mint18 ~ $ python
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
import tkinter as tk
Traceback (most recent call last):
   File "/usr/lib/python3.5/tkinter/__init__.py", line 36, in <module>
     import _tkinter
ImportError: No module named '_tkinter'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "/usr/lib/python3.5/tkinter/__init__.py", line 38, in <module>
     raise ImportError(str(msg) + ', please install the python3-tk package')
ImportError: No module named '_tkinter', please install the python3-tk
package


If I go to synaptic and install the python3-tk it installs version 3.6.5 of
the package and I can still not import tkinter in env with python 3.5.2, but
I can in env36 with python 3.6.5.


As I have not yet tried to play around with virtual environments, I
may be about to do more harm than help, but I will plow ahead anyway!
~(:>))

My primitive understanding of installing Python versions that are
different from the system Python version into a virtual environment,
is that you have to install all dependencies you need from within that
virtual environment you created.  If I am correct about this then your
error messages suggest you need to install the tkinter stuff from
within that virtual environment using that virtual environment's pip.
Hopefully I am too far off from the truth here, but in any event, I
hope this helps you in your problem!


My understanding of VE's, based on some feedback from here, is you install install the python you want on the system then use it to install your VE. Then you install what ever you need to the VE. In my case I had a working VE based on python 3.5 then I received an upgrade to the python version 3.6 I had installed. After that I had problems with the 3.5 VE that had been working.

Regards,  Jim

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to