anaconda bug?

memilanuk memilanuk at gmail.com
Tue Mar 17 13:25:11 EDT 2015


On 03/17/2015 09:51 AM, George Trojan wrote:
> On 03/16/2015 11:47 PM, memilanuk wrote:
>> Might be just you...
>>
>> monte at machin-shin:~$ python
>> Python 3.4.3 |Continuum Analytics, Inc.| (default, Mar  6 2015, 12:03:53)
>> [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> import tkinter
>> >>> tkinter.Tk()
>> <tkinter.Tk object at 0x7ff4c6fc8160>
>> >>>
>>
>>
>> Just for the heck of it I created a new venv (using conda create -n
>> test) and tried it again.  Same thing.
>>
>> How are you creating your venv?
>>
>> Monte
>>
>>
>
> Hmm. I tried on the different system (Fedora 20), with Python 3.4.2.
> Same results:
>
> dilbert at gtrojan> python
> Python 3.4.2 |Continuum Analytics, Inc.| (default, Oct 21 2014, 17:16:37)
> [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
> Type "help", "copyright", "credits" or "license" for more information.
>  >>> import tkinter
>  >>> tkinter.Tk()
> <tkinter.Tk object at 0x7f5713951630>
>  >>>
> dilbert at gtrojan> which pyvenv
> /usr/local/miniconda3/bin/pyvenv
> dilbert at gtrojan> pyvenv --system-site-packages ~/test
> dilbert at gtrojan> source ~/test/bin/activate
> (test) dilbert at gtrojan> python
> Python 3.4.2 |Continuum Analytics, Inc.| (default, Oct 21 2014, 17:16:37)
> [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
> Type "help", "copyright", "credits" or "license" for more information.
>  >>> import tkinter
>  >>> tkinter.Tk()
> Traceback (most recent call last):
>    File "<stdin>", line 1, in <module>
>    File "/usr/local/miniconda3/lib/python3.4/tkinter/__init__.py", line
> 1851, in __init__
>      self.tk = _tkinter.create(screenName, baseName, className,
> interactive, wantobjects, useTk, sync, use)
> _tkinter.TclError: Can't find a usable init.tcl in the following
> directories:
>      /opt/anaconda1anaconda2anaconda3/lib/tcl8.5
> /home/gtrojan/test/lib/tcl8.5 /home/gtrojan/lib/tcl8.5
> /home/gtrojan/test/library /home/gtrojan/library
> /home/gtrojan/tcl8.5.15/library /home/tcl8.5.15/library
>
> This probably means that Tcl wasn't installed properly.
>  >>>
>
> I suspect faulty logic: pyvenv does not copy/links the tcl/tk libraries
> to the newly created directory. When I run python directly, the second
> directory to search is /usr/local/miniconda3/lib/tcl8.5, where conda
> puts its tcl version. In virtual environment, the path is replaced and
> tkinter fails. So the other fix would be to manually create symlinks
> after running pyvenv, or modify Continuum Analytics pyvenv to do that.
> There is no issue with pyvenv when Python is built from the source, the
> first directory in the path is where tcl is found by configure and that
> does not change in virtual environment.
>
> I found another similar bug report here:
> https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/Q9xvJT8khTs
> Looks this has not been fixed.

Well, it might be worth poking them and seeing if you get any response.

What happens if you create a venv using conda?  Is there some particular 
reason you're using Anaconda but not using its tools for managing 
virtualenvs?  I get it that pyenv should work, but it might be useful to 
isolate it further to tell if its just pyenv, or something else.  I 
don't have any experience with pyenv myself, sorry.

HTH,

Monte


-- 
Shiny!  Let's be bad guys.

Reach me @ memilanuk (at) gmail dot com




More information about the Python-list mailing list