46,200원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
비동기 함수를 동기적인 실행으로 만드는 부분 질문입니다
안녕하세요. 강의 잘 보고 있습니다. 다름이 아니라 [섹션1 - 동기 vs 비동기] 강의 내용 중 "비동기 함수로 정의된 것들을 동기적인 실행으로 만드는 부분"을 설명해주셨는데요! 예를 들어, 수업 내용에서 언급된 아래와 같은 코드일 때입니다. import asyncio async def delivery(name, mealtime): print("start:", name) await asyncio.sleep(mealtime) print("end") async def main(): await delivery('A', 10) await delivery('B', 5) await delivery('C', 3)그러면 위 코드를 async def가 아닌 일반적인 동기 함수 def 로 정의해서 아래처럼 동기적으로 프로그래밍한 것이랑 성능적인 차이가 있나요? 비동기 함수로 정의하고 굳이 동기적인 프로그래밍을 작성하는 경우가 예시로 뭐가 있으려나요..? 단순히 생각했을 때 어차피 동기적인 프로그래밍으로 작성할 것이라면 애초에 동기함수로 작성하는 게 코드를 읽는 다른 사람들에게도 좀 더 헷갈리지 않게 하는 게 아닐까..싶은데 궁금합니다! import time def delivery(name, mealtime): print("start:", name) time.sleep(mealtime) print("end") async def main(): delivery('A', 10) delivery('B', 5) delivery('C', 3)
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
proxy 사용 질문
안녕하세요.사내에서 강의를 듣다보니 proxy를 타도록 되어 있습니다.basic-fetcher에서는 아래 두가지 방식이 모두 동작하는데요.os.environ["HTTP_PROXY"] = "http://xxx..." os.environ["HTTPS_PROXY"] = "http://xxx..." os.environ["PYTHONHTTPSVERIFY"] = "0"def fetcher(session, url): with session.get(url, proxies=proxies, verify=False) as respose: return respose.textcoroutine-fetcher 에서는 ClientSession()에서 두가지 모두 오류가 납니다.1번async def fetcher(session, url): async with session.get(url, proxies=proxies, verify=False) as respose: return await respose.text() async def main(): urls = ["https://naver.com", "https://google.com", "https://instagram.com"] async with aiohttp.ClientSession() as session: result = await fetcher(session, urls[0]) print(result)2번async def fetcher(session, url): async with session.get(url, verify=False) as respose: return await respose.text() async def main(): urls = ["https://naver.com", "https://google.com", "https://instagram.com"] async with aiohttp.ClientSession() as session: result = await fetcher(session, urls[0]) print(result) 해결방법과 함께 proxy 환경에서는 프록시 정보를 어떤 구조로 가지고 있어야 효율적일지 문의드립니다.
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
AWS Lightsail SSL handshake failed 오류 문의드립니다.
AWS Lightsail에 git clone을 하고, 콜렉터스 북북이 초기 페이지까지는 잘 들어가졌는데,검색어를 입력하고 엔터를 하면 오랜 시간이 지나고 아래와 같은 오류문이 나옵니다. INFO: 211.234.195.243:54254 - "GET /search?q=Sss HTTP/1.1" 500 Internal Server ErrorERROR: Exception in ASGI application... <ServerDescription ('ac-ljyn7zm-shard-00-02.v7fc0ev.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect("SSL handshake failed: ac-ljyn7zm-shard-00-02.v7fc0ev.mongodb.net:27017: [('SSL routines', 'ssl3_read_bytes', 'tlsv1 alert internal error')] (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)")>]> 이런 오류가 나오면서 Internal Server Error가 뜹니다.혹시 어떻게 해결을 해야할지 알 수 있을까요?
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
동시성과 병렬성
설명을 잘 해주셔서 이해가 잘 됐습니다.node js 에서는 싱글 스레드로 돌아가고 있고 ,코드를 작성하게 될때 , async await 를 붙여서동시성 작업을 많이 하는걸로 알고있습니다. 이는 싱글스레드라 할지라도 엔진상 속도가 잘 나오기 때문에 괜찮다고 들었는데요 python 입장에서는 어떤가요 ??
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
python select linter ? 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. python :select linter를 입력해도 값이 나오지 않습니다. 왜그럴가요?
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
수업질문
안녕하세요 수업을 듣고있는 한 사람입니다 ㅎㅎ 너무 잘 듣고있습니다.수업을 들으면서 궁금한점은 검색과 chat gpt 를 통해서 찾아보고있는데요. 단순 chat gpt 의 결과이지만 코루틴은 주로 I/O 바운드와 고수준 구조화된 네트워크 코드에 사용되며, CPU 바운드 작업에는 적합하지 않을 수 있습니다. CPU 바운드 작업을 비동기적으로 처리하려면 멀티 프로세싱이나 다른 접근 방법을 고려해야 할 수 있습니다. 라고 하더라구요 .혹시 여기에 대해서는 어떻게 생각하시나요 ?
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
response 객체에서 키값으로 조회 시 KeyError 발생
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요,강의 2:17 부분을 보면서 따라해보고 있는데 아래 부분에서 KeyError가 발생합니다.items = result["items"] 구체적인 에러 메시지는 다음과 같습니다result 객체의 키값만 조회해보면 items가 정상적으로 존재하고, reult의 타입도 dict 형태로 나오는데 왜 keyerror가 발생하는걸까요..?
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
from config import get_secret 질문
"05-scraping.py" 파일에from config import get_secret --> 이 코드가 있는데요,제가 Linux에서 이 파일을 실행해 보면 위 코드에서 아래 에러가 납니다. 뭐가 문제인지요?ImportError: cannot import name 'get_secret' from 'config' (/home/sean2/.pyenv/versions/3.8.17/lib/python3.8/site-packages/config/__init__.py)
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
파이썬 코루틴활용 영상 질문
코드를 실행해보니까 naver쪽 데이터만 불러오는 것같습니다. 속도도 너무 빠르고 뭐가 문제일까요? 그리고 할때마다 시간이 다르네요 ㅠㅠ aiohttp 버전도 3.7.3으로 설치했습니다
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
가상환경 설정 질문
가상환경 들어가서 pytho hello.py실행해도 파일이 없다고 오류가 뜨네요. 처음에 들어갔을때는 앞에 가상환경 venv가 안떠서 powershell하나더 만드니까 저렇게 앞에 venv가 떴습니다. 이렇게 하는거 맞을까요 그리고 이거랑 무슨 차이인지도 궁금합니다.
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
pydantic import error
아래 질문자님께서도 글을 남기셨듯, 저 또한 이러한 에러가 계속 발생합니다. pydantic.errors.PydanticImportError: pydantic.datetime_parse:parse_datetime has been removed in V2. 이 문제는 odmantic import 과정에서 발생하고 있으며.V1에서는 가능했지만 V2에서 제거되면서 발생되는 문제라고 생각됩니다. odmantic의 버전을 낮춰보았으나 반응이 없었고,pydantic의 현 버전이 2.3이기에 1.10.12버전으로 낮춰보아도 현 문제가 지속되고 있습니다. 교육자료의 requirement.txt를 열어봐도 사용된 라이브러리만 명시되어 있으뿐 버전에 대한 부분은 없어서 진행에 어려움을 겪고 있습니다. 다시 한번 도움을 부탁드립니다. 감사합니다!
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
동시성 프로그래밍으로 이미지 다운로더 개발
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 해당 강의에서 img_downloader 함수를 정의할 때 aiofiles의 용도가 무엇인가요?file.write을 할때 로컬에 저장하는것 같은데, 이때도 await을 사용하는 이유가 무엇인가요?
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
session 을 닫아야 하는 이유
session 은 왜 닫아야 하나요? 파이썬 코루틴 활용 강의에서 with requests.Session() as session: session.get(url) 을 통해 session 을 열고 닫아야 한다고 하셨는데, 왜 session 을 닫아야 하는지 궁금합니다.
- 해결됨파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
sec3-2. robots.txt에 관한 질문입니다.
안녕하세요. 선생님. 각 웹사이트에서 크롤링에 대한 가능범위를 robots.txt에서 확인할 수 있다고 하셨습니다. robots.txt에 대한 부분을 확인할 수 있는 경우도 있지만 사실 robots.txt에 대해 명시하지 않는 사이트들도 많아서, 이런 경우에는 해당 웹사이트가 크롤링에 대해 어떤 스탠스를 취하고 있는지 어려운 경우가 있습니다.CU편의점 웹사이트는 Request Blocked 메시지를 띄운다던가, 어떤 웹사이트는 400번 에러를 내며 크롤링 가능범위를 보여주지 않습니다.이런 경우에는 웹사이트가 어떤 스탠스를 갖고 있다고 판단하면 될까요? 또한, 블로그와 같은 개인적인 공간에 특정 웹사이트를 크롤링하는 코드를 올리는 것은 문제의 소지가 있을까요?강의 감사히 듣고 있습니다. 감사합니다.
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
프로젝트 관련질문
현재 몽고디비에 데이터가 잘들어가는지 확인하기 위해서 odmantic을 설치한 이후로 오류가 떴고이러한 오류가떴고 확인 해보니from odmantic import AIOEngine 문제라는 판단으로 pip install --upgrade odamantic을 했지만 별 효과가 없어서 문의하게되었습니다. 추가적으로 하다보니 init.py 이했을떄는 문제없고 mongodb.connect할 때 문제인데 mongodb의 연결문제라고 생각중입니다 Process SpawnProcess-1: Traceback (most recent call last): File "C:\Users\hs091\anaconda3\lib\multiprocessing\process.py", line 315, in _bootstrap self.run() File "C:\Users\hs091\anaconda3\lib\multiprocessing\process.py", line 108, in run self._target(*self._args, **self._kwargs) File "C:\Users\hs091\anaconda3\lib\site-packages\uvicorn\_subprocess.py", line 76, in subprocess_started target(sockets=sockets) File "C:\Users\hs091\anaconda3\lib\site-packages\uvicorn\server.py", line 61, in run return asyncio.run(self.serve(sockets=sockets)) File "C:\Users\hs091\anaconda3\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "C:\Users\hs091\anaconda3\lib\asyncio\base_events.py", line 642, in run_until_complete return future.result() File "C:\Users\hs091\anaconda3\lib\site-packages\uvicorn\server.py", line 68, in serve config.load() File "C:\Users\hs091\anaconda3\lib\site-packages\uvicorn\config.py", line 467, in load self.loaded_app = import_from_string(self.app) File "C:\Users\hs091\anaconda3\lib\site-packages\uvicorn\importer.py", line 21, in import_from_string module = importlib.import_module(module_str) File "C:\Users\hs091\anaconda3\lib\importlib\__init__.py", line 127, in import_module return bootstrap.gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in gcdimport File "<frozen importlib._bootstrap>", line 1007, in findand_load File "<frozen importlib._bootstrap>", line 986, in findand_load_unlocked File "<frozen importlib._bootstrap>", line 680, in loadunlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in callwith_frames_removed File "C:\Users\hs091\studyDs\teaching-async-python-main\6-실전-프로젝트-콜렉터스\app\main.py", line 5, in <module> from app.models import mongodb File "C:\Users\hs091\studyDs\teaching-async-python-main\6-실전-프로젝트-콜렉터스\app\models\__init__.py", line 2, in <module> from odmantic import AIOEngine File "C:\Users\hs091\anaconda3\lib\site-packages\odmantic\__init__.py", line 1, in <module> from .bson import ObjectId File "C:\Users\hs091\anaconda3\lib\site-packages\odmantic\bson.py", line 11, in <module> from pydantic.datetime_parse import parse_datetime File "C:\Users\hs091\anaconda3\lib\site-packages\pydantic\_migration.py", line 295, in wrapper raise PydanticImportError(f'`{import_path}` has been removed in V2.') pydantic.errors.PydanticImportError: pydantic.datetime_parse:parse_datetime has been removed in V2. For further information visit https://errors.pydantic.dev/2.1.1/u/import-error
- 해결됨파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
프로젝트 부분에 대한 질문
현재 혼자 처음시작부터 따라하는 부분으로써 두가지의 오류가 있었고 init.py에서는 이부분에서 config에서 가져오는 MONGO_DB_NAME의 문제가있는데 config나 secrets에서 철자 틀린건 없었습니다 오류내용은 line too long (81 > 79 characters)Flake8(E501) 이오류인데 flake의 잘못인가요??main.py 에서 그냥 import 오류인 app.models.mongodb' imported but unusedFlake8(F401) 똑같은 문제인것같습니다
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
몽고디비 설치에 따른 GUI변경
GUI가 변한 것으로 인해 잘되어가는지 몰라서 한번 확인이가능할까요??
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
flask 설치에 따라서
pip install flask를 했는데설치 하는 도중에 마지막에 WARNING: You are using pip version 21.2.3; however, version 23.2.1 is available.You should consider upgrading via the 'C:\Users\hs091\FastAPI\venv\Scripts\python.exe -m pip install --upgrade pip' command.이러한 오류가떴었고 pip install --upgrade pip를 했지만 이겄도한 pip help install 이러한 오류가뜨게됩니다 방안이있을까요?
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
앞부분에 (base)나 (venv)자체가 뜨지가 않습니다.
window 에서하는 중인데 비주얼스튜디오코드를 설치를 햇는데 아예 (base)라는 부분이 뜨지가 않습니다. hello.py를 하면 잘나오는 부분은 있습니다. 또한 .\venv\Scripts\activate.bat 명령어를 치면 기존 터미널에 있던 문자들이 알아서 clear가 되지만 가상환경인지 잘모르는 부분이됩니다.
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
KeyboardInterrupt 시 p.join에서 exception 발생
w_worker = Process(target=self.w_job, args=(w_queue,)) w_worker.start() workers.append(w_worker) try: ~ except KeyboardInterrupt: for w in workers: w.join()안녕하세요 강사님,w.join()에서 아래와 같은 exception이 발생하는데, 어떤 문제인지 모르겠어서 질문드립니다.Exception ignored in atexit callback: <function _exit_function at 0x7f61a90b72e0> Traceback (most recent call last): File "/usr/lib/python3.10/multiprocessing/util.py", line 357, in _exit_function p.join() File "/usr/lib/python3.10/multiprocessing/process.py", line 149, in join res = self._popen.wait(timeout) File "/usr/lib/python3.10/multiprocessing/popen_fork.py", line 43, in wait return self.poll(os.WNOHANG if timeout == 0.0 else 0) File "/usr/lib/python3.10/multiprocessing/popen_fork.py", line 27, in poll pid, sts = os.waitpid(self.pid, flag) KeyboardInterrupt:해당 에러는 어떤 부분때문에 발생하는 지, 어떤 선행작업이 필요한지 궁금합니다.