{"id":2301,"date":"2020-12-04T17:44:57","date_gmt":"2020-12-04T08:44:57","guid":{"rendered":"https:\/\/qol-kk.com\/wp2\/?p=2301"},"modified":"2020-12-04T17:45:16","modified_gmt":"2020-12-04T08:45:16","slug":"post-2301","status":"publish","type":"post","link":"https:\/\/qol-kk.com\/wp2\/blog\/2020\/12\/04\/post-2301\/","title":{"rendered":"\u3010Docker\u00d7Django\u3011\u5f8c\u5165\u308c\u3057\u305fpandas \u304cModuleNotFoundError\u306b\u306a\u3063\u305f"},"content":{"rendered":"<h2>\u3010Docker\u00d7Django\u3011\u5f8c\u5165\u308c\u3057\u305fpandas \u304cModuleNotFoundError\u306b\u306a\u3063\u305f<\/h2>\n<p>\u3053\u308c\u306f\u3068\u308a\u3042\u3048\u305a\u89e3\u6c7a\u3067\u304d\u305f\u65b9\u6cd5\u3068\u3057\u3066\u30e1\u30e2\u3057\u3066\u304a\u3053\u3046\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\n\u300c\u3084\u3063\u305f\u3089\u76f4\u3063\u305f\u300d\u3068\u3044\u3046\u30ec\u30d9\u30eb\u3067\u6839\u672c\u89e3\u6c7a\u3068\u306f\u7570\u306a\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<h3>\u767a\u751f\u3057\u3066\u3044\u305f\u75c7\u72b6<\/h3>\n<pre class=\"lang:default decode:true \">#views.py\r\n\r\nimport logging\r\nimport time\r\nimport pandas<\/pre>\n<p>\u3053\u308c\u3067pandas\u306b\u5bfe\u3057\u3066\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u7121\u3044\u3068\u6012\u3089\u308c\u307e\u3057\u305f\u3002<br \/>\n\u3067\u3082\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3053\u308c\u3089\u306e\u30b3\u30de\u30f3\u30c9\u9054\u306b\u306f\u3061\u3083\u3093\u3068\u53cd\u5fdc\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"\">pip show pandas\r\npip freeze\r\npip list<\/pre>\n<p>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u540d\u3068\u30e2\u30b8\u30e5\u30fc\u30eb\u540d\u304c\u9055\u3046\uff1f<br \/>\n\u591a\u304f\u306e\u65b9\u306e\u304a\u624b\u672c\u3092\u53c2\u8003\u306b\u3055\u305b\u3066\u9802\u304f\u9650\u308a\u305d\u308c\u3082\u306a\u3055\u305d\u3046\u3002<\/p>\n<p>\u30a2\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u518d\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3082\u5b9f\u884c\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u7d50\u679c\u306f\u5909\u308f\u3089\u305a\u3002<br \/>\n\u3067\u3001Docker\u518d\u69cb\u7bc9\u3057\u3066\u307f\u3088\u3046\u304b\u3068\u767a\u60f3\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u3053\u308c\u304c\u4e0a\u624b\u304f\u3044\u304d\u307e\u3057\u305f\u3002<\/p>\n<h3>\u5909\u66f4\u3057\u305fPython\u306eDockerfile<\/h3>\n<pre class=\"lang:default decode:true\">FROM python:3.8\r\n#FROM python:3.8-buster\r\n\r\n# \u4f5c\u6210\u3057\u305f\u30e6\u30fc\u30b6\u30fc\u306b\u5207\u308a\u66ff\u3048\u308b\r\n#USER ${DOCKER_USER}\r\n\r\n# \u30e6\u30fc\u30b6\u30fc\u3092\u4f5c\u6210\r\nARG UID=1000\r\nRUN useradd -m -u ${UID} 901_system-Ad03n\r\n\r\nRUN mkdir \/code\r\nWORKDIR \/code\r\n\r\nADD requirements.txt \/code\/\r\nRUN pip install --upgrade pip \\\r\n    &amp;&amp; pip install -r requirements.txt\r\n\r\nADD . \/code\/\r\n\r\nRUN apt update; apt -y upgrade \\\r\n  &amp;&amp; apt-get install -y vim \\\r\n  &amp;&amp; apt install -y gnupg \\\r\n  &amp;&amp; wget -q -O - https:\/\/dl.google.com\/linux\/linux_signing_key.pub | apt-key add - \\\r\n  &amp;&amp; wget -q https:\/\/dl.google.com\/linux\/direct\/google-chrome-stable_current_amd64.deb \\\r\n  &amp;&amp; apt install -y .\/google-chrome-stable_current_amd64.deb \\\r\n  &amp;&amp; apt clean \\\r\n  &amp;&amp; rm -rf \/var\/lib\/apt\/lists\/ \\\r\n  &amp;&amp; rm google-chrome-stable_current_amd64.deb\r\n\r\nRUN pip install selenium chromedriver-binary~=$(\/usr\/bin\/google-chrome --version | perl -pe 's\/([^0-9]+)([0-9]+\\.[0-9]+).+\/$2\/g') \\\r\n  &amp;&amp; pip install django-allauth\r\n<\/pre>\n<p>\u25a0requirements.txt<\/p>\n<pre class=\"lang:default decode:true\">asgiref==3.2.7\r\nDjango==3.0.5\r\npytz==2020.1\r\nsqlparse==0.3.1\r\nuwsgi==2.0.18\r\nmysqlclient==1.4.6\r\ncertifi==2020.11.8\r\ncffi==1.14.4\r\nchardet==3.0.4\r\ncryptography==3.2.1\r\ncycler==0.10.0\r\ndefusedxml==0.6.0\r\ndjango-allauth==0.44.0\r\nidna==2.10\r\nkiwisolver==1.3.1\r\nmatplotlib==3.3.3\r\nnumpy==1.19.4\r\noauthlib==3.1.0\r\npandas==1.1.4\r\nPillow==8.0.1\r\npycparser==2.20\r\nPyJWT==1.7.1\r\npyparsing==2.4.7\r\nrequests==2.25.0\r\nrequests-oauthlib==1.3.0\r\nsix==1.15.0\r\nurllib3==1.26.2<\/pre>\n<p>FROM python:3.8-buster\u3092\u8f9e\u3081\u3066buster\u3067\u81ea\u52d5\u7684\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u3092requirements.txt\u306b\u66f8\u304d\u51fa\u3057\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"lang:default decode:true \">sudo \/usr\/local\/bin\/docker-compose up -d --build<\/pre>\n<p>\u8d77\u52d5\u304c\u7d42\u308f\u3063\u3066\u304b\u3089 pandas \u3092\u66f8\u3044\u305f\u30da\u30fc\u30b8\u3092\u8aad\u307f\u8fbc\u3093\u3067\u307f\u305f\u3089\u30a8\u30e9\u30fc\u7121\u3057\u3002<br \/>\n\u7d50\u5c40\u4f55\u304c\u539f\u56e0\u3060\u3063\u305f\u306e\u3060\u308d\u3046...\u3002<\/p>\n<h3>\u307e\u3068\u3081<\/h3>\n<p>\u30b3\u30f3\u30c6\u30ca\u69cb\u7bc9\u6642\u306bbuster\u3084requirements.txt\u306b\u66f8\u3044\u3066\u306a\u304b\u3063\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u8aad\u307f\u8fbc\u3093\u3067\u304f\u308c\u306a\u3044\u3068\u304b\u3002<br \/>\n\u63a8\u6e2c\u3059\u308b\u306a\u3089\u305d\u3093\u306a\u3068\u3053\u308d\u306a\u3093\u3060\u3051\u3069\u3001\u305d\u3093\u306a\u306e\u3042\u308a\u5f97\u308b\u306e\u304b\u306a\u3002<\/p>\n<p>\u3046\uff5e\u3093\u3001\u51fa\u6765\u305f\u304b\u3089\u3088\u3044\u3082\u306e\u306e...\u8b0e\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3010Docker\u00d7Django\u3011\u5f8c\u5165\u308c\u3057\u305fpandas \u304cModuleNotFoundError\u306b\u306a\u3063\u305f \u3053\u308c\u306f\u3068\u308a\u3042\u3048\u305a\u89e3\u6c7a\u3067\u304d\u305f\u65b9\u6cd5\u3068\u3057\u3066\u30e1\u30e2\u3057\u3066\u304a\u3053\u3046\u3068\u601d\u3044\u307e\u3059\u3002 \u300c\u3084\u3063\u305f\u3089\u76f4\u3063\u305f\u300d\u3068\u3044\u3046\u30ec\u30d9\u30eb\u3067\u6839\u672c\u89e3\u6c7a\u3068\u306f\u7570\u306a\u308b\u304b [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2173,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"","vkexunit_cta_each_option":"","_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[38],"tags":[814,498,147,97,53,45],"class_list":["post-2301","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python-memorandum","tag-django","tag-docker","tag-python","tag-97","tag-53","tag-45"],"veu_head_title_object":{"title":"","add_site_title":""},"jetpack_publicize_connections":[],"jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/qol-kk.com\/wp2\/wp-content\/uploads\/2020\/11\/python.png","_links":{"self":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts\/2301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/comments?post=2301"}],"version-history":[{"count":0,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts\/2301\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/media\/2173"}],"wp:attachment":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/media?parent=2301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/categories?post=2301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/tags?post=2301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}