목록PYTHON (60)
Knowledge Map
아래와 같이 사용하면 그냥 json파일을 만들수 있다. import json json_data = {"one":1, "two":2, "three":3} with open('someData.json', 'w') as one_file: json.dump(json_data, one_file) Colored by Color Scriptercs
celery로 tensorflow를 실행시켜 비동기 백그라운드로 처리하려고 생각했었다. flask와 celery worker를 각각 실행한 다음 tensorflow의 메서드를 호출했을 때 다음과 같은 에러가 발생했다. tensorflow/stream_executor/cuda/cuda_driver.cc:1216] failed to enqueue async memcpy from host to device: CUDA_ERROR_NOT_INITIALIZED; GPU dst: 0x130a30d900; host src: 0x205c3d500; size: 4=0x4 검색을 하니 2017년도 즈음 되는 글이 나왔는데 버그였고 고쳤다고 했다. 하지만 난 이 에러가 발생했다.좀더 추가적으로 검색해보니 tf자체가 분산 연산..
1. celery에 대한 간단한 사용 코드는 http://flask.pocoo.org/docs/0.12/patterns/celery/https://blog.miguelgrinberg.com/post/using-celery-with-flaskhttp://flask.pocoo.org/docs/1.0/patterns/celery/ 를 참고하면 된다. 물론 개인저장소의 CeleryModule 래퍼 클래스와 config.py를 참고하면 더 좋다. 2. flask 의 app 컨텍스트 사용하기 celery는 개별적인 다른 프로세스로 돌아가기 때문에 flask의 컨텍스트를 그대로 받아서 사용하지 않고 아예 별개의 컨텍스트라고 보면된다.따라서 flask에 import 했던 모듈들은 제대로 동작이 안되는 경우가 많을 것이..
from matplotlib.backends import _macosxRuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework on Mac OS X. Please either reinstall Python as a framework, or try one of the other backends. If you are using (Ana)..
DB로 여러가지를 쓰지만 sqlite3의 경우 파일 형태로 만들어지다 보니, 그 간편함 떄문에 여럿 쓴다.sqlite3에서 db 생성하는 방법 중에 sqlalchemy를 이용하면 간단히 만들수 있다. 먼저 아래와 같이 각각 app.py를 만들어준다. (model.py 코드도 같이 들어가 있다.) from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db' db = SQLAlchemy(app) db.init_app(app) # 이건 db = SQLAlchemy()를 한 상황에서만 해준다. class ..
Flask에서 g 객체는 스레드와 각각의 request 내에서만 값이 유효한 스레드 로컬 변수입니다. 사용자의 요청이 동시에 들어오더라도 각각의 request 내에서만 g 객체가 유효하기 때문에 사용자 ID를 저장해도 문제가 없습니다.flask.gJust store on this whatever you want. For example a database connection or the user that is currently logged in.다음 링크의 테스트 코드를 참고해서 테스트를 직접 만드는 것도 의미가 있을 것 같습니다.http://stackoverflow.com/a/33382823/3275152 출처 : https://hashcode.co.kr/questions/2173/flask-%EC%9D..
python3.6 에서 pymysql + sqlalchemy를 사용하게 되었을 때 생기는 문제이다. 다른 것들은 테스트해보지 않았는데, session객체에 delete()를 2개 이상 등록한 다음에 session.commit()을 하게 되면 delete()한 순서대로 동작하지 않고 임의의 순서로 동작하는 것 같다. a 테이블이 b 테이블의 primary key를 참조키로 들고 있다. 따라서 b 테이블의 데이터를 지울려면 먼저 그것을 참조하고 있는 a 테이블의 값을 지워야 한다. session.delete(a);session.delete(b);session.commit(); 하지만 그러면 아래와 같은 메세지가 나온다. sqlalchemy.exc.IntegrityError: (pymysql.err.Integ..
RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6 텐솔플로 최신 버전이 3.6과 맞지 않아서 그런것이다. 해결책은 아래와 같다. Wait for an official binary to be released for Python 3.6Ignore the warning, it seems to work.Don't use tensorflow 1.4.0 instead use 1.3.0 pip3 install tensorflow==1.3.0.Install an unofficial tensorflow binary compatible w..
https://stackoverflow.com/questions/6539881/python-converting-from-iso-8859-1-latin1-to-utf-8 python3에서 바이트 값은 json.dumps를 할 경우 에러가 발생한다.물론 문자열로 변환하면 되지만 그렇게 될 경우 손실이 발생되어 이후 처리에서 제대로 되지 않을 가능성이 존재한다. 이럴때 decode('iso-8859-1') 로 하게 되면 바이트를 손실없이 문자열로 변환할 수 있으니 좋다.
https://wiki.python.org/moin/HandlingExceptions import sys try: untrusted.execute() except: # catch *all* exceptions e = sys.exc_info()[0] write_to_page( "Error: %s" % e ) 파이썬에서는 원래 특정 에러에 대한 except를 처리하지만, 경우에 따라서 모든 에러들을 체크해야 할 필요가 있다.그럴때 이것을 사용하면 어떤 이름의 에러가 났는지 알수 있다.