{"id":32917,"date":"2023-04-06T21:37:15","date_gmt":"2022-11-12T15:10:08","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/"},"modified":"2024-04-29T22:15:30","modified_gmt":"2024-04-29T14:15:30","slug":"%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/","title":{"rendered":"\u5728Ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aAnaconda+Flask\u73af\u5883"},"content":{"rendered":"<h2>\u786e\u8ba4\u73af\u5883<\/h2>\n<pre class=\"post-pre\"><code>lsb_release <span class=\"nt\">-a<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>Distributor ID:\tUbuntu\r\nDescription:\tUbuntu 20.04.2 LTS\r\nRelease:\t20.04\r\nCodename:\tfocal\r\n<\/code><\/pre>\n<h2>\u5b89\u88c5Anaconda<\/h2>\n<p>\u6211\u4f1a\u4f7f\u7528wget\u8fdb\u884c\u4e0b\u8f7d\u3002<br \/>\nhttps:\/\/www.anaconda.com\/products\/distribution#Downloads<\/p>\n<pre class=\"post-pre\"><code>https:\/\/repo.anaconda.com\/archive\/Anaconda3-2022.10-Linux-x86_64.sh\r\n<\/code><\/pre>\n<p>\u5728bash\u4e2d\u6267\u884c\u5df2\u4e0b\u8f7d\u7684\u811a\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code>bash Anaconda3-2022.10-Linux-x86_64.sh\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>Welcome to Anaconda3 2022.10\r\n\r\nIn order to continue the installation process, please review the license\r\nagreement.\r\nPlease, press ENTER to continue\r\n&gt;&gt;&gt; \r\n<\/code><\/pre>\n<p>\u53ea\u9700\u6309 Enter \u5c31\u4f1a\u88ab\u8be2\u95ee\u662f\u5426\u540c\u610f\uff0c\u56de\u7b54\u662f\u3002<\/p>\n<pre class=\"post-pre\"><code>Do you accept the license terms? [yes|no]\r\n[no] &gt;&gt;&gt; \r\nPlease answer 'yes' or 'no':'\r\n&gt;&gt;&gt; yes\r\n<\/code><\/pre>\n<p>\u7531\u4e8e\u88ab\u95ee\u53ca\u5b89\u88c5\u4f4d\u7f6e\uff0c\u5c06\u5176\u653e\u7f6e\u5728\u521b\u5efa\u7528\u6237\u7684\u4e3b\u76ee\u5f55\u4e2d\u3002<\/p>\n<pre class=\"post-pre\"><code>Anaconda3 will now be installed into this location:\r\n\/root\/anaconda3\r\n\r\n  - Press ENTER to confirm the location\r\n  - Press CTRL-C to abort the installation\r\n  - Or specify a different location below\r\n\r\n[\/root\/anaconda3] &gt;&gt;&gt; \/home\/katsuji\/anaconda3\r\n<\/code><\/pre>\n<p>\u5728\u60a8\u786e\u8ba4 conda \u7248\u672c\u4e4b\u524d\uff0c\u9700\u8981\u786e\u8ba4\u8def\u5f84\u662f\u5426\u901a\u7545\uff0c\u6211\u5e2e\u60a8\u914d\u7f6e\u4e00\u4e0b\u8def\u5f84\u3002<\/p>\n<pre class=\"post-pre\"><code>vi ~\/.bashrc\r\n<\/code><\/pre>\n<p>\u5c06`export PATH=~\/anaconda3\/bin:$PATH`\u8fd9\u4e00\u884c\u6dfb\u52a0\u5230`~\/.bashrc`\u6587\u4ef6\u4e2d\u7684\u4efb\u610f\u4f4d\u7f6e\u3002\u6700\u540e\u5bf9`.bashrc`\u8fdb\u884c\u66f4\u65b0\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nb\">source<\/span> ~\/.bashrc\r\n<\/code><\/pre>\n<p>\u786e\u8ba4conda<\/p>\n<pre class=\"post-pre\"><code>conda <span class=\"nt\">-V<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>conda 22.9.0 #OK\r\n<\/code><\/pre>\n<h2>\u521b\u5efaFlask\u73af\u5883<\/h2>\n<pre class=\"post-pre\"><code>conda create <span class=\"nt\">-n<\/span> flask\r\n<\/code><\/pre>\n<p>\u5728Flask\u73af\u5883\u4e2d\u5b89\u88c5Flask\u3002<\/p>\n<pre class=\"post-pre\"><code>conda activate flask\r\n<span class=\"o\">(<\/span>flask<span class=\"o\">)<\/span> katsuji@XXX:~<span class=\"nv\">$ <\/span>conda <span class=\"nb\">install <\/span>flask\r\n<\/code><\/pre>\n<h2>\u76ee\u5f55\u7ed3\u6784<\/h2>\n<pre class=\"post-pre\"><code>~\/flask_app\r\n    \u251c\u2500\u2500 app.py\r\n    \u2514\u2500\u2500 test.py\r\n<\/code><\/pre>\n<h2>uWSGI<\/h2>\n<h3>\u5b89\u88c5uWSGI<\/h3>\n<p>\u56e0\u4e3a\u65e0\u6cd5\u4ece\u9ed8\u8ba4\u9891\u9053\u4e2d\u8fdb\u884c\u5b89\u88c5\uff0c\u6240\u4ee5\u6211\u4ececonda-forge\u8fdb\u884c\u4e86\u5b89\u88c5\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"o\">(<\/span>flask<span class=\"o\">)<\/span> katsuji@XXX:~\/<span class=\"nv\">$conda<\/span> <span class=\"nb\">install<\/span> <span class=\"nt\">-c<\/span> conda-forge uwsgi\r\n<\/code><\/pre>\n<h3>uwsgi\u7684\u8fd0\u884c\u9a8c\u8bc1<\/h3>\n<p>\u6211\u53c2\u8003\u4e86\u4ee5\u4e0b\u7f51\u7ad9\u3002\u5b9e\u9645\u4e0a\u662f\u76f4\u63a5\u590d\u5236\u7684\u3002https:\/\/serip39.hatenablog.com\/entry\/2020\/07\/06\/070000<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">def<\/span> <span class=\"nf\">application<\/span><span class=\"p\">(<\/span><span class=\"n\">env<\/span><span class=\"p\">,<\/span> <span class=\"n\">start_response<\/span><span class=\"p\">):<\/span>\r\n    <span class=\"nf\">start_response<\/span><span class=\"p\">(<\/span><span class=\"sh\">'<\/span><span class=\"s\">200 OK<\/span><span class=\"sh\">'<\/span><span class=\"p\">,<\/span> <span class=\"p\">[(<\/span><span class=\"sh\">'<\/span><span class=\"s\">Content-Type<\/span><span class=\"sh\">'<\/span><span class=\"p\">,<\/span><span class=\"sh\">'<\/span><span class=\"s\">text\/html<\/span><span class=\"sh\">'<\/span><span class=\"p\">)])<\/span>\r\n    <span class=\"k\">return<\/span> <span class=\"p\">[<\/span><span class=\"sa\">b<\/span><span class=\"sh\">\"<\/span><span class=\"s\">Hello World uWSGI<\/span><span class=\"sh\">\"<\/span><span class=\"p\">]<\/span>\r\n<\/code><\/pre>\n<p>\u5bf9uwsgi\u8fdb\u884c\u64cd\u4f5c\u9a8c\u8bc1<\/p>\n<pre class=\"post-pre\"><code><span class=\"o\">(<\/span>flask<span class=\"o\">)<\/span> katsuji@XXX:~\/flask_app<span class=\"nv\">$ <\/span>uwsgi <span class=\"nt\">--http<\/span> :8000 <span class=\"nt\">--wsgi-file<\/span> test.py\r\n<\/code><\/pre>\n<p>\u5f53\u8fde\u63a5\u5230 http:\/\/127.0.0.1:8000 \u5e76\u770b\u5230 &#8220;Hello World uWSGI&#8221; \u65f6\uff0c\u8868\u660e\u4e00\u5207\u6b63\u5e38\u3002<br \/>\n\u5c31\u6211\u4e2a\u4eba\u800c\u8a00\uff0c\u6211\u662f\u901a\u8fc7\u79df\u7528\u7684\u670d\u52a1\u5668\u6765\u8fdb\u884c\u8fde\u63a5\uff0c\u6240\u4ee5\u8981\u8fde\u63a5\u5230 http:\/\/X.X.X.X:8000\u3002\u5176\u4e2d\u7684X\u662f\u79df\u7528\u670d\u52a1\u5668\u7684IP\u5730\u5740\u3002<\/p>\n<h2>\u7528uwsgi\u542f\u52a8Flask<\/h2>\n<pre class=\"post-pre\"><code><span class=\"kn\">from<\/span> <span class=\"n\">flask<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Flask<\/span>\r\n<span class=\"n\">app<\/span> <span class=\"o\">=<\/span> <span class=\"nc\">Flask<\/span><span class=\"p\">(<\/span><span class=\"n\">__name__<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"nd\">@app.route<\/span><span class=\"p\">(<\/span><span class=\"sh\">\"<\/span><span class=\"s\">\/<\/span><span class=\"sh\">\"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"k\">def<\/span> <span class=\"nf\">hello<\/span><span class=\"p\">():<\/span>\r\n    <span class=\"k\">return<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">Hello world Flask<\/span><span class=\"sh\">\"<\/span>\r\n\r\n<span class=\"k\">if<\/span> <span class=\"n\">__name__<\/span> <span class=\"o\">==<\/span> <span class=\"sh\">\"<\/span><span class=\"s\">__main__<\/span><span class=\"sh\">\"<\/span><span class=\"p\">:<\/span>\r\n    <span class=\"n\">app<\/span><span class=\"p\">.<\/span><span class=\"nf\">run<\/span><span class=\"p\">()<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"o\">(<\/span>flask<span class=\"o\">)<\/span> katsuji@XXX:~\/flask_app<span class=\"nv\">$ <\/span>uwsgi <span class=\"nt\">--http<\/span> :8000 <span class=\"nt\">--wsgi-file<\/span> app.py <span class=\"nt\">--callable<\/span> app\r\n<\/code><\/pre>\n<p>\u786e\u8ba4<br \/>\n\u672c\u5730\u4e3b\u673a\uff1ahttp:\/\/127.0.0.1:8000<br \/>\n\u79df\u7528\u670d\u52a1\u5668\uff1ahttp:\/\/X.X.X.X:8000<br \/>\n\u5f53\u8f93\u51fa&#8221;Hello world Flask&#8221;\u65f6\uff0c\u8868\u793a\u6b63\u5e38<\/p>\n<h2>nginx\u7684\u914d\u7f6e<\/h2>\n<h3>\u5b89\u88c5\u548c\u786e\u8ba4nginx<\/h3>\n<p>\u9000\u51faFlask\u73af\u5883\uff0c\u8bf7\u4f7f\u7528conda deactivate\u547d\u4ee4\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\">#nginx install<\/span>\r\n<span class=\"nb\">sudo <\/span>apt <span class=\"nb\">install <\/span>nginx \r\n<span class=\"c\">#start nginx<\/span>\r\n<span class=\"nb\">sudo<\/span> \/etc\/init.d\/nginx start \r\n<\/code><\/pre>\n<p>\u5982\u679c\u8fde\u63a5\u5230 http:\/\/127.0.0.1:80 \u5e76\u51fa\u73b0 &#8220;Welcome to nginx!&#8221;\uff0c\u5219\u8868\u793a\u8fde\u63a5\u6210\u529f\u3002\u5bf9\u4e8e\u6211\u4e2a\u4eba\u6765\u8bf4\uff0c\u7531\u4e8e\u4f7f\u7528\u7684\u662f\u79df\u7528\u670d\u52a1\u5668\uff0c\u5728 http:\/\/X.X.X.X:80 \u8fdb\u884c\u8fde\u63a5\uff0c\u5176\u4e2d X \u662f\u79df\u7528\u670d\u52a1\u5668\u7684 IP \u5730\u5740\u3002<\/p>\n<h3>\u7f16\u8f91nginx\u914d\u7f6e\u6587\u4ef6<\/h3>\n<pre class=\"post-pre\"><code><span class=\"nb\">cd<\/span> \/etc\/nginx\/sites-available\r\n<\/code><\/pre>\n<p>\u5c06sites-available\u4e2d\u7684default\u6587\u4ef6\u590d\u5236\u4e3aapp_nginx.conf\uff0c\u4ee5\u7528\u4e8e\u672c\u6b21\u5e94\u7528\u3002<\/p>\n<pre class=\"post-pre\"><code>sudo cp default .\/app_nginx.conf\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"c\"># Virtual Host configuration for example.com<\/span>\r\nserver <span class=\"o\">{<\/span>\r\n        listen X.X.X.X80<span class=\"p\">;<\/span> <span class=\"c\">#X\u306e\u90e8\u5206\u3092\u7701\u7565\u3057\u3066listen 80;\u3068\u3059\u308b\u3068localhost\u306b\u63a5\u7d9a<\/span>\r\n        server_name example.com<span class=\"p\">;<\/span>        \r\n        location \/ <span class=\"o\">{<\/span>\r\n          include uwsgi_params<span class=\"p\">;<\/span>\r\n          uwsgi_pass unix:\/tmp\/uwsgi.sock<span class=\"p\">;<\/span>\r\n        <span class=\"o\">}<\/span>\r\n<span class=\"o\">}<\/span>\r\n<\/code><\/pre>\n<p>site-available -&gt; site-enabled\u7684\u7b26\u53f7\u94fe\u63a5<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\"># \u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u306e\u4f5c\u6210<\/span>\r\n<span class=\"nb\">cd<\/span> \/etc\/nginx\/sites-enabled\/\r\n<span class=\"nb\">sudo ln<\/span> <span class=\"nt\">-s<\/span> \/etc\/nginx\/sites-available\/app_nginx.conf app_nginx.conf\r\n<\/code><\/pre>\n<p>\u53ea\u9700\u7f16\u8f91\/etc\/nginx\/nginx.conf\u6587\u4ef6\uff0c\u4ee5\u4ec5\u52a0\u8f7dapp_nginx.conf\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nb\">sudo <\/span>vi \/etc\/nginx\/nginx.conf\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"c\"># Virtual Host Configs<\/span>\r\ninclude \/etc\/nginx\/conf.d\/<span class=\"k\">*<\/span>.conf<span class=\"p\">;<\/span>\r\n<span class=\"c\">#include \/etc\/nginx\/sites-enabled\/*; #\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8<\/span>\r\ninclude \/etc\/nginx\/sites-enabled\/<span class=\"k\">*<\/span>.conf<span class=\"p\">;<\/span> <span class=\"c\">#app_nginx.conf\u3092\u8aad\u3080<\/span>\r\n<\/code><\/pre>\n<h2>\u8fde\u63a5nginx\u548cuwsgi<\/h2>\n<p>\u542f\u52a8uwsgi\u670d\u52a1\u5668<\/p>\n<pre class=\"post-pre\"><code>uwsgi <span class=\"nt\">--ini<\/span> myapp.ini\r\n<\/code><\/pre>\n<p>\u5728\u53e6\u4e00\u4e2a\u7ec8\u7aef\u4e2d\u542f\u52a8nginx\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nb\">sudo<\/span> \/etc\/init.d\/nginx start\r\n<\/code><\/pre>\n<h2>\u8bf7\u53c2\u8003<\/h2>\n<p>\u975e\u5e38\u611f\u8c22\u60a8\u7684\u5e2e\u52a9\u548c\u53c2\u8003\u3002 \u5728Python\u4e2d\uff0c\u6784\u5efaFlask\u7684\u751f\u4ea7\u73af\u5883\uff08Flask + uWSGI + Nginx\uff09\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u786e\u8ba4\u73af\u5883 lsb_release -a Distributor ID: Ubuntu Description: [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-32917","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5728Ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aAnaconda+Flask\u73af\u5883 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aanacondaflask\u73af\u5883\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728Ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aAnaconda+Flask\u73af\u5883\" \/>\n<meta property=\"og:description\" content=\"\u786e\u8ba4\u73af\u5883 lsb_release -a Distributor ID: Ubuntu Description: [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aanacondaflask\u73af\u5883\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-12T15:10:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T14:15:30+00:00\" \/>\n<meta name=\"author\" content=\"\u9038, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u9038, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/\",\"name\":\"\u5728Ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aAnaconda+Flask\u73af\u5883 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2022-11-12T15:10:08+00:00\",\"dateModified\":\"2024-04-29T14:15:30+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728Ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aAnaconda+Flask\u73af\u5883\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487\",\"name\":\"\u9038, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"caption\":\"\u9038, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728Ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aAnaconda+Flask\u73af\u5883 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aanacondaflask\u73af\u5883\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728Ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aAnaconda+Flask\u73af\u5883","og_description":"\u786e\u8ba4\u73af\u5883 lsb_release -a Distributor ID: Ubuntu Description: [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aanacondaflask\u73af\u5883\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2022-11-12T15:10:08+00:00","article_modified_time":"2024-04-29T14:15:30+00:00","author":"\u9038, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u9038, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"2 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/","name":"\u5728Ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aAnaconda+Flask\u73af\u5883 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2022-11-12T15:10:08+00:00","dateModified":"2024-04-29T14:15:30+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728Ubuntu\u4e0a\u521b\u5efa\u4e00\u4e2aAnaconda+Flask\u73af\u5883"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487","name":"\u9038, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","caption":"\u9038, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ubuntu%e4%b8%8a%e5%88%9b%e5%bb%ba%e4%b8%80%e4%b8%aaanacondaflask%e7%8e%af%e5%a2%83%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/32917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=32917"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/32917\/revisions"}],"predecessor-version":[{"id":87959,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/32917\/revisions\/87959"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=32917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=32917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=32917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}