2017-09-05 1 views
1

Heroku에서 배포하고 libspatialindex와 같은 사용자 정의 된 빌드 팩을 추가하는 동안 Python 3.5가 Tkinter를 찾는 위치에서 다른 오류가 발생했습니다.Heroku Python3.5 가져 오기 오류 : 이름이 '_ tkinter'인 모듈이 없습니다

로컬로 sudo apt-get tk-dev을 사용하여 설치하면이 비슷한 문제의 제안을 시도하고 해결할 수 있습니다 : import matplotlib failing on Heroku, 오류가 계속 발생합니다.

https://github.com/heroku/heroku-buildpack-apt 
heroku/python 
https://github.com/julienfr112/libspatialindex-buildpack.git 

그리고 내 Aptfile 만 포함 : Heroku가에

python3-tk 
libpq-dev 
build-essential 
libncursesw5-dev 
libreadline5-dev 
libssl-dev 
libgdbm-dev 
libc6-dev 
libsqlite3-dev tk-dev 
libbz2-dev 

여기에 밀어 로그의 꼬리 :

2017-09-05T08:25:58.903075+00:00 app[web.1]: File "/app/.heroku 
/python/lib/python3.5/site-packages/six.py", line 82, in _import_module 
2017-09-05T08:25:58.903076+00:00 app[web.1]:  __import__(name) 
2017-09-05T08:25:58.903076+00:00 app[web.1]: File "/app/.heroku 
/python/lib/python3.5/tkinter/__init__.py", line 35, in <module> 
2017-09-05T08:25:58.903076+00:00 app[web.1]:  import _tkinter 
# If this fails your Python may not be configured for Tk 
2017-09-05T08:25:58.903077+00:00 app[web.1]: ImportError: No module 
named '_tkinter' 

어떤 아이디어

여기 내 buildpacks입니까?

+0

Heroku를 누르면 빌드 출력에서'apt' 활동처럼 보이는 것이 있습니까? – Chris

+0

@Chris 예 로그가 실행되어 aptfile에 포함 된 파일을 설치하는 것처럼 보입니다. – Reiion

+0

당신이 링크 된 질문에서 허용되는 대답에서 : "유감스럽게도,이 Aptfile은 다른 패키지를 수동으로 지정해야하므로 동일한 의존성 분석을하지 않습니다." Tk 자체도 설치 했습니까? 나는 다른 의존성이 존재 할지도 모르겠다. ... – Chris

답변

1

matplotlib 백엔드를 tkinter에서 다른 것으로 변경하십시오. 프로그램의 시작에서 다음을 수행

import matplotlib 
matplotlib.use('Agg') 

이 방법은 프로그램의 나머지 부분에서는 (등 'AGG', 'SVG', 등)

또 다른 옵션 설정 백엔드를 사용합니다 Matplotlibrc 파일을 다음과 같이 시도해보십시오 : https://matplotlib.org/users/customizing.html#the-matplotlibrc-file

관련 문제