«Модуль» не имеет attritube «Treestyle» - PullRequest
0 голосов
/ 18 октября 2018

Если найдены некоторые попадания в стеке потока, когда у людей возникают проблемы с использованием инструментов ete3, когда PyQT4 не установлен, и это (раньше) также относится ко мне.Тем не менее, я сейчас попытался переустановить часть программного обеспечения, и он продолжает жаловаться на «Модуль» не имеет attritube «Treestyle».

Чтобы проверить, установлен ли PyQT, я запустил этот скрипт на python:

from PyQt4.Qt import PYQT_VERSION_STR
print("PyQt version:", PYQT_VERSION_STR)

Который печатает:

('PyQt version:', '4.12.1')

Я получаю эту (общую) ошибку:

Traceback (most recent call last):
  File "/mnt/f/mypy/bin/virtualmicrobes.py", line 1820, in <module>
    sys.exit(main())
  File "/mnt/f/mypy/bin/virtualmicrobes.py", line 1793, in main
    args.start(args)
  File "/mnt/f/mypy/bin/virtualmicrobes.py", line 408, in start_evo_sim
    result = init_and_simulate(simu, intermediate_load_file, _options)
  File "/mnt/f/mypy/local/lib/python2.7/site-packages/VirtualMicrobes/my_tools/utility.py", line 117, in wrapper
    raise ex_type(message)
AttributeError: 'module' object has no attribute 'TreeStyle' (in subprocess)
  File "/mnt/f/mypy/local/lib/python2.7/site-packages/VirtualMicrobes/my_tools/utility.py", line 91, in process_func
    ret = func(*args, **kwargs)
  File "/mnt/f/mypy/bin/virtualmicrobes.py", line 295, in init_and_simulate
    sim = sim_mod.create_simulation(**options)
  File "/mnt/f/mypy/local/lib/python2.7/site-packages/VirtualMicrobes/simulation/Simulation.py", line 1940, in create_simulation
    sim = ODE_simulation(params_dict)
  File "/mnt/f/mypy/local/lib/python2.7/site-packages/VirtualMicrobes/simulation/Simulation.py", line 1342, in __init__
    super(ODE_simulation, self).__init__(params)
  File "/mnt/f/mypy/local/lib/python2.7/site-packages/VirtualMicrobes/simulation/Simulation.py", line 86, in __init__
    self.init_graphs()
  File "/mnt/f/mypy/local/lib/python2.7/site-packages/VirtualMicrobes/simulation/Simulation.py", line 795, in init_graphs
    show=show, clean=clean, create=create)
  File "/mnt/f/mypy/local/lib/python2.7/site-packages/VirtualMicrobes/plotting/Graphs.py", line 1188, in __init__
    self.init_phylo_tree_graph(clean=clean)
  File "/mnt/f/mypy/local/lib/python2.7/site-packages/VirtualMicrobes/plotting/Graphs.py", line 1219, in init_phylo_tree_graph
    show=show, attribute_dict=self.attribute_mapper, create=clean, **kwargs)
  File "/mnt/f/mypy/local/lib/python2.7/site-packages/VirtualMicrobes/plotting/Graphs.py", line 985, in __init__
    self.init_tree_style_dict() # NOTE: unordered ok
  File "/mnt/f/mypy/local/lib/python2.7/site-packages/VirtualMicrobes/plotting/Graphs.py", line 1110, in init_tree_style_dict
    branch_vertical_margin=branch_vertical_margin)
  File "/mnt/f/mypy/local/lib/python2.7/site-packages/VirtualMicrobes/plotting/Graphs.py", line 1083, in make_tree_style
    ts = ete3.TreeStyle() 

Примечание: на этот раз я пытаюсь установить его на Ubuntu для Windows , но до сих пор почти все, что работало в Linux, работало и на этом.Хотя это может быть полезным.

Есть идеи?

PS Чтобы воспроизвести проблему, выполните следующие действия:

$ sudo apt-get install python-qt4
$ virtualenv ~/mypy --system-site-packages
$ source ~/mypy/bin/activate 
$ (mypy) > pip install VirtualMicrobes
$ (mypy) > virtualmicrobes evo --name TestMicrobes >> error

PPS Пользователь eyllanesc подтвердил, что это проблема Ubuntu для Windows.Я все еще пытаюсь это исправить, если кто-нибудь может помочь мне понять, как правильно связать пакеты pyqt4 с моим virtualenv, это было бы здорово.Я пытался связать нативный с ln -s, но дальше ничего не получаю

1 Ответ

0 голосов
/ 18 декабря 2018

У меня были похожие проблемы.Проблема может заключаться в том, что у вас не установлены все зависимости, и ete3 не сообщает вам их все.

Вы можете увидеть, какие зависимости отсутствуют с этим кодом:

import ete3
ete3.__file__

Запустите его, и он скажет вам, какие зависимости отсутствуют.Обратите внимание, что вам может потребоваться запустить его несколько раз, прежде чем устанавливать их все!

...