py.xml
패키지를 사용해야하는 프로젝트에서 불행히도 pipenv
(내 결정이 아님)과 Python 3 (다시 내 결정이 아님)을 사용해야합니다. 또한 pylint
확인을 통과해야합니다. 이 프로젝트에있는 파일의모듈 'py'에 'xml'이 없습니다.
하나이있다 : 그것은 ... 그것을 찾을 수있는 반면 py
가 가상 환경에 설치되어
from py.xml import html
에도 불구하고, pylint
은 그것을 찾을 수 없습니다. 이것은 pylint
의 문제와 비슷하지만 그렇지 않을 수도 있습니다. 나는이 혼란을 디버깅하는 방법을 모른다. 다음은 pylint
인격의 증거는 다음과 같습니다
PYTHONPATH=$(pwd) pipenv run pylint --init-hook 'from py.xml import html;print(type(html))' some_module
<class 'py._xmlgen.NamespaceMetaclass'>
************* Module some_module
E: 8, 0: No name 'xml' in module 'py' (no-name-in-module)
E: 8, 0: Unable to import 'py.xml' (import-error)
확실하지 나는 위의 라인의 아이러니에 대한 보너스 카르마 포인트를 획득하지만 가상화의 개념을 처음 사용하는 경우, 그냥 조금 넣어 수있는 경우 여기서주의 :
그것은 포함 된 말도 안되는 코드의 모든 하중, 가상 환경을 설정하도록되어있는 프로그램을 실행할 때 PYTHONPATH를 지정하는 이해되지 않는다, 그러나, 유일한은 그것을 어떻게해야했다 , 그렇지 않습니다. 실제로 시도조차하지 않습니다.
아, 그리고 경우에 당신은 py
다른 곳에 설치되었을 수 있다고 생각하고, 어떻게 든 pylint
에 액세스 할 수 없습니다했다 ... 음, 그것은 아니었다 :
PYTHONPATH=$(pwd) pipenv run pylint --init-hook 'from py.xml import html;import inspect;print(inspect.getfile(html))' automation
/home/wvxvw/.local/share/virtualenvs/some_module-UoeXL6dQ/lib/python3.5/site-packages/py/_xmlgen.py
************* Module automation.conftest
E: 8, 0: No name 'xml' in module 'py' (no-name-in-module)
E: 8, 0: Unable to import 'py.xml' (import-error)