PySide2.QtWidgets распознается только в приглашении Anaconda, но не при выполнении сценария - PullRequest
0 голосов
/ 21 января 2019

Я установил PySide2 из conda-forge в виртуальную среду с именем "Qt4Python".

Это работает, если я непосредственно набираю в командной строке Anaconda (на python):

import PySide2
from PySide2.QtWidgets import QApplication, QLabel

Однако, если я напишу эти 2 строки в файле сценария с именем test1.py, то также из запроса Anaconda:

python test1.py

Тогда получается:

AttributeError: модуль 'PySide2' не имеет атрибута 'QtWidgets'

Что мне здесь не хватало? Ниже приведен список пакетов среды.

(Qt4Python) C:\Users\XuanPhu\Desktop\ST_project>conda list
# packages in environment at C:\Users\XuanPhu\AppData\Local\conda\conda\envs\Qt4Python:
#
# Name                    Version                   Build  Channel
backcall                  0.1.0                    py37_0
ca-certificates           2018.11.29           ha4d7672_0    conda-forge
certifi                   2018.11.29            py37_1000    conda-forge
colorama                  0.4.1                    py37_0
decorator                 4.3.0                    py37_0
icu                       58.2                 ha66f8fd_1
ipython                   7.2.0            py37h39e3cac_0
ipython_genutils          0.2.0                    py37_0
jedi                      0.13.2                   py37_0
jpeg                      9c                hfa6e2cd_1001    conda-forge
libiconv                  1.15              hfa6e2cd_1004    conda-forge
libpng                    1.6.36            h7602738_1000    conda-forge
libxml2                   2.9.8             h9ce36c8_1005    conda-forge
libxslt                   1.1.32            heafd4d3_1002    conda-forge
openssl                   1.0.2p            hfa6e2cd_1002    conda-forge
parso                     0.3.1                    py37_0
pickleshare               0.7.5                    py37_0
pip                       18.1                  py37_1000    conda-forge
prompt_toolkit            2.0.7                    py37_0
pygments                  2.3.1                    py37_0
pyside2                   5.6.0a1         py37h20f30f1_1003    conda-forge
python                    3.7.1             hc182675_1000    conda-forge
qt                        5.6.2                h2639256_8    conda-forge
setuptools                40.6.3                   py37_0    conda-forge
shiboken2                 5.12.0                    <pip>
six                       1.12.0                   py37_0
sqlite                    3.26.0            hfa6e2cd_1000    conda-forge
traitlets                 4.3.2                    py37_0
vc                        14.1                 h0510ff6_4
vs2015_runtime            14.15.26706          h3a45250_0
wcwidth                   0.1.7                    py37_0
wheel                     0.32.3                   py37_0    conda-forge
wincertstore              0.2                   py37_1002    conda-forge
zlib                      1.2.11            h2fa13f4_1004    conda-forge

1 Ответ

0 голосов
/ 27 января 2019

Возможно, несовпадение версий .Я вижу, что у вас есть PySide2 от conda-forge, который действительно устарел (5.6), так как shiboken2 использует последнюю версию, доступную в pypi (5.12.0), кроме того, qt, который у вас есть, не совпадает с PySide2версия (5.6.2).

На данный момент существует нет conda-forge PySide2 пакета, который использует последнюю версию, то есть 5.12.0.

Я думаю,Вы можете либо внести свой вклад в проект и обновить пакет, либо вернуться назад и использовать virtualenv.

...