CINXE.COM

pipenvの人気記事 21件 - はてなブックマーク

<!DOCTYPE html> <html lang="ja" data-page-scope="EntrySearch" data-stable-request-url="https://b.hatena.ne.jp/q/pipenv" data-device-type="PC" data-sentry-environment="production" data-sentry-sample-rate="0.1" data-entry-search-query="pipenv" data-page-subtype="entrysearch" data-page-type="entrysearch" > <head> <!-- Google Tag Manager --> <script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5TDHQX'); </script> <!-- End Google Tag Manager --> <meta charset="UTF-8"> <title>pipenvの人気記事 21件 - はてなブックマーク</title> <script src="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/js/v4/bookmark.js" async></script> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/css/v4/pikaday.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/css/v4/triangle.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/css/v4/bookmark.css" /> <link type="text/css" rel="stylesheet" href="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/css/v4/bookmark.star.css" /> <link rel="canonical" href="https://b.hatena.ne.jp/q/pipenv" /> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> <meta name="viewport" content="width=device-width"> <link rel="search" type="application/opensearchdescription+xml" title="はてなブックマーク検索" href="/opensearch.xml" /> <link rel="apple-touch-icon-precomposed" href="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/apple-touch-icon-precomposed.png" /> <link rel="mask-icon" href="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/safari-pinned-tab-icon.svg" color="#00A4DE" /> <meta name="msapplication-navbutton-color" content="#2C6EBD" /> <meta name="msapplication-task" content="name=はてなブックマーク; action-uri=/; icon-uri=https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/icons/bookmark.ico" /> <meta name="msapplication-task" content="name=マイブックマーク; action-uri=/my; icon-uri=https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/icons/my-bookmark.ico" /> <meta name="msapplication-task" content="name=お気に入りのブックマーク; action-uri=/my/favorite; icon-uri=https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/icons/favorite-bookmark.ico" /> <meta name="msapplication-task" content="name=人気エントリー; action-uri=/hotentry; icon-uri=https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/icons/hotentry.ico" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="referrer" content="origin"> <link rel="alternate" type="application/rss+xml" href="/q/pipenv?safe=on&amp;mode=rss&amp;sort=popular&amp;date_range=5y&amp;users=3&amp;target=title" /> <script> function isMobile() { const html = document.documentElement; const deviceType = html.dataset.deviceType || ''; if (deviceType.length > 0) { return deviceType === 'MOBILE'; } else { const maxMobileWidth = 480; const windowWidth = window.innerWidth; return maxMobileWidth >= windowWidth; } } </script> </head> <body class="page-centerarticle page-entrysearch fixed-header"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5TDHQX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="link-app-banner js-dynamic-link-app-banner is-hidden"> <button class="link-app-banner-btn-close js-dynamic-link-app-banner-close-button"><span>close</span></button> <a class="link-app-banner-btn" href="https://hatenabookmark.page.link/app"> <div class="link-app-banner-btn-detail"> <div class="link-app-banner-icon"><img src="/images/v4/public/app/ic-ios.svg" alt="はてなブックマークアプリ"></div> <p class="link-app-banner-text">サクサク読めて、<br class="link-app-banner-text-newline">アプリ限定の機能も多数!</p> </div> <div class="link-app-banner-btn-open">アプリで開く</div> </a> </div> <header id="global-header" data-portal-static-origin="//cdn.www.st-hatena.com"> <div id="header" class="global-header-inner js-global-header-inner"> <h2 id="gh-logo"><a href="/" data-gtm-label="gh-blogo"><span>はてなブックマーク</span></a></h2> <div class="is-guest js-guest is-hidden"> <input id="gh-search-icon-check" type="checkbox" checked="checked" /> <label class="gh-search-icon" for="gh-search-icon-check" aria-label="検索を閉じる"><span>閉じる</span></label> <form class="gh-searchbox" method="get" action="/search_dwim" role="search"> <input value="" name="q" type="search" class="gh-inputtext" placeholder="キーワード・URLを検索" size="40" /> <input value="" type="submit" class="gh-search-button" /> </form> <ul class="gh-service-menu"> <li><a href="/guide" data-gtm-label="gh-guest-guide">はてなブックマークって?</a></li> <li><a href="/guide/tools" data-gtm-label="gh-guest-tools">アプリ・拡張の紹介</a></li> <li><a href="https://www.hatena.ne.jp/register?location=https%3A%2F%2Fb.hatena.ne.jp%2F%3Fregistered_from%3Dglobal-header&amp;via=201037" class="gh-guest-register" data-gtm-label="gh-guest-register">ユーザー登録</a></li> <li><a href="https://www.hatena.ne.jp/login?location=https%3A%2F%2Fb.hatena.ne.jp%2Fq%2Fpipenv" rel="nofollow" class="gh-guest-login" data-gtm-label="gh-guest-login">ログイン</a></li> <li class="gh-hatena-logo"><a href="http://www.hatena.ne.jp/"><img src="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/logo/logo-global-white.svg" alt="Hatena" width="74px" height="13px"/></a></li> </ul> </div> <noscript> <ul class="gh-service-menu"> <li><a href="https://www.hatena.ne.jp/logout?location=https%3A%2F%2Fb.hatena.ne.jp%2F">ログアウト</a></li> </ul> </noscript> <script type="text/x-template" id="template-menu-hatena-user"> <form class="gh-searchbox" method="get" action="/search_dwim" role="search"> <input value="" name="q" type="search" class="gh-inputtext" placeholder="キーワード・URLを検索" size="40" /> <input value="" type="submit" class="gh-search-button" /> </form> <ul class="gh-service-menu"> <li><a class="hotentry" data-gtm-label="gh-mypage" href="{{hotentry_url}}"><img src="{{user_image_url}}" class="header-profile-icon" width="16" height="16" alt="{{username}}" /></a><a class="hotentry" data-gtm-label="gh-mypage" href="{{hotentry_url}}">マイページ</a></li> <li><a class="bookmark" data-gtm-label="gh-bookmark" href="{{bookmark_url}}">ブックマーク</a></li> <li><a class="unread_bookmark" data-gtm-label="gh-ril" href="{{bookmark_stock_url}}">あとで読む</a></li> <li><a class="add" data-gtm-label="gh-add" href="{{add_bookmark_url}}">追加</a></li> <li><a class="tools" data-gtm-label="gh-tools" href="/guide/tools">ツール</a></li> <li><a class="config" data-gtm-label="gh-config" href="/-/my/config/profile">設定</a></li> <li><a class="feedback" data-gtm-label="gh-feedback" href="/-/feedback/hatena_bookmark" target="_blank">フィードバック</a></li> <li id="header-username" class="gh-dropdown-services" data-gtm-label="gh-services" title="利用中のサービス" data-name="{{username}}"> <span class="header-dropdown gh-dropdown" tabindex="0"> <img src="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/common/usermenu-wh.svg" alt="利用中のサービス" width="24" height="24" /> </span> <dl class="header-window" id="username-window"></dl> </li> <li id="header-notify" data-gtm-label="gh-notify" class="gh-dropdown-notify" title="あなたへのお知らせ"> <span class="header-dropdown gh-dropdown" tabindex="0"> <img src="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/common/notify-wh.svg" alt="あなたへのお知らせ" width="25" height="25" /> <span class="notify-count"></span> </span> <div id="notify-window" class="header-window header-notify"></div> </li> <li class="gh-hatena-logo"><a href="http://www.hatena.ne.jp/"><img src="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/logo/logo-global-white.svg" alt="Hatena" width="74px" height="13px"/></a></li> </ul> </script> </div> </header> <div id="info-header"><div id="info-header-message"></div><span></span></div> <div class="global-notification is-hidden js-global-notification"></div> <div id="container"> <div class="entrysearch-searchbox"> <form class="entrysearch-searchbox-body js-entrysearch-form" method="get"> <input value="pipenv" type="text" class="entrysearch-searchbox-textInput js-entrysearch-form-text-input" size="40" aria-label="検索キーワードを入力"> <input value="title" name="target" type="hidden"> <input value="popular" name="sort" type="hidden"> <input value="3" name="users" type="hidden"> <input value="on" name="safe" type="hidden"> <input value="検索" type="submit" class="entrysearch-searchbox-btn js-entrysearch-form-button" aria-label="検索"> </form> </div> <div class="centerarticle-wrapper"> <div class="left-container"> <div class="centerarticle-sidebar-menu"> <h3 class="centerarticle-aside-title">検索対象</h3> <ul class="centerarticle-sub-navi"> <li><a href="/q/pipenv?safe=on&amp;date_range=5y&amp;sort=popular&amp;target=all&amp;users=3" >すべて</a></li> <li><a href="/q/pipenv?users=3&amp;target=tag&amp;date_range=5y&amp;sort=popular&amp;safe=on" >タグ</a></li> <li><a href="/q/pipenv?date_range=5y&amp;sort=popular&amp;safe=on&amp;users=3&amp;target=title" >タイトル</a></li> <li><a href="/q/pipenv?target=text&amp;users=3&amp;sort=popular&amp;date_range=5y&amp;safe=on" >本文</a></li> </ul> </div> <div class="centerarticle-sidebar-menu"> <h3 class="centerarticle-aside-title">並び順</h3> <ul class="centerarticle-sub-navi"> <li><a href="/q/pipenv?target=title&amp;users=3&amp;safe=on&amp;date_range=5y&amp;sort=recent" >新着</a></li> <li><a href="/q/pipenv?target=title&amp;users=3&amp;date_range=5y&amp;sort=popular&amp;safe=on" class="is-current">人気</a></li> </ul> </div> <div class="centerarticle-sidebar-menu"> <h3 class="centerarticle-aside-title">ブックマーク数</h3> <ul class="centerarticle-sub-navi"> <li><a href="/q/pipenv?sort=popular&amp;date_range=5y&amp;safe=on&amp;users=1&amp;target=title" >1 user</a></li> <li><a href="/q/pipenv?sort=popular&amp;date_range=5y&amp;safe=on&amp;target=title&amp;users=3" class="is-current">3 users</a></li> <li><a href="/q/pipenv?date_range=5y&amp;sort=popular&amp;safe=on&amp;users=50&amp;target=title" >50 users</a></li> <li><a href="/q/pipenv?date_range=5y&amp;sort=popular&amp;safe=on&amp;target=title&amp;users=100" >100 users</a></li> <li><a href="/q/pipenv?users=500&amp;target=title&amp;sort=popular&amp;date_range=5y&amp;safe=on" >500 users</a></li> </ul> </div> <div class="centerarticle-sidebar-menu js-safe-search-div is-hidden" title="セーフサーチはログイン時にのみoffにできます"> <h3 class="centerarticle-aside-title">セーフサーチ</h3> <ul class="centerarticle-sub-navi"> <li><a href="/q/pipenv?users=3&amp;target=title&amp;date_range=5y&amp;sort=popular&amp;safe=on" class="is-current">オン</a></li> <li><a href="/q/pipenv?safe=off&amp;sort=popular&amp;date_range=5y&amp;users=3&amp;target=title" >オフ</a></li> </ul> </div> <div class="centerarticle-sidebar-menu js-entrysearch-date"> <h3 class="centerarticle-aside-title">期間指定</h3> <ul class="centerarticle-sub-navi"> <li><a href="/q/pipenv?safe=on&amp;date_range=all&amp;sort=popular&amp;target=title&amp;users=3" >すべて</a></li> <li><a href="/q/pipenv?safe=on&amp;date_range=w&amp;sort=popular&amp;target=title&amp;users=3" >1週間</a></li> <li><a href="/q/pipenv?safe=on&amp;date_range=m&amp;sort=popular&amp;users=3&amp;target=title" >1ヶ月</a></li> <li><a href="/q/pipenv?safe=on&amp;sort=popular&amp;date_range=y&amp;target=title&amp;users=3" >1年</a></li> </ul> <form method="get" class="js-entrysearch-datepicker-form"> <input value="pipenv" class="js-entrysearch-form-text-input" type="hidden"> <input value="title" name="target" type="hidden"> <input value="popular" name="sort" type="hidden"> <input value="3" name="users" type="hidden"> <input value="on" name="safe" type="hidden"> <ul class="centerarticle-sub-navi"> <li><input class="js-entrysearch-datepicker-start entrysearch-searchbox-dateInput" value="" type="text" name="date_begin"> から</li> <li><input class="js-entrysearch-datepicker-end entrysearch-searchbox-dateInput" value="" type="text" name="date_end"> まで</li> <li><input value="検索" type="submit" class="entrysearch-searchbox-btn js-entrysearch-form-button"><li> </ul> </form> </div> </div> <div class="entrysearch-bar"> <p class="entrysearch-bar-results">1 - 21 件 / 21件</p> <div class="entrysearch-bar-inner"> <button class="entrysearch-filter-btn js-entrysearch-filter-btn">絞り込み</button> <a class="entrysearch-sort-btn" href="/q/pipenv?safe=on&amp;sort=popular&amp;date_range=5y&amp;target=title&amp;users=3">新着順</a> <a class="entrysearch-sort-btn is-current" href="/q/pipenv?safe=on&amp;sort=recent&amp;date_range=5y&amp;users=3&amp;target=title">人気順</a> </div> </div> <div class="entrysearch-filter js-entrysearch-filter is-hidden"> <div class="entrysearch-filter-header"> <h2 class="entrysearch-filter-title">絞り込み</h2> <button class="entrysearch-filter-close js-entrysearch-filter-close"></button> </div> <ul class="entrysearch-filter-list"> <li class="entrysearch-filter-item js-entrysearch-target-dropdown"> <h3 class="entrysearch-filter-item-head">検索対象</h3> <div class="entrysearch-filter-item-value-wrapper"> <select class="entrysearch-filter-item-value js-entrysearch-filter-target"> <option value="all" >すべて</option> <option value="tag" >タグ</option> <option value="title" selected>タイトル</option> <option value="text" >本文</option> </select> </div> </li> <li class="entrysearch-filter-item"> <h3 class="entrysearch-filter-item-head">ブックマーク数</h3> <div class="entrysearch-filter-item-value-wrapper"> <select class="entrysearch-filter-item-value js-entrysearch-filter-users"> <option value="1" >1 user</option> <option value="3" selected>3 users</option> <option value="50" >50 users</option> <option value="100" >100 users</option> <option value="500" >500 users</option> </select> </div> </li> <li class="entrysearch-filter-item"> <h3 class="entrysearch-filter-item-head">期間</h3> <div class="entrysearch-filter-item-value-wrapper"> <select class="entrysearch-filter-item-value js-entrysearch-filter-daterange"> <option value="all">すべて</option> <option value="w" >1週間</option> <option value="m" >1ヶ月</option> <option value="y" >1年</option> </select> </div> </li> <li class="entrysearch-filter-item js-safe-search-div is-hidden"> <h3 class="entrysearch-filter-item-head">セーフサーチ</h3> <div class="entrysearch-filter-checkbox"> <input type="checkbox" name="safesearch" id="safesearch" class="js-entryseach-safesearch" checked> <label class="entrysearch-filter-checkbox-label" for="safesearch"></label> </div> </li> </ul> <div class="entrysearch-filter-footer"> <button class="entrysearch-filter-search-btn styleguide-btn-primary js-entrysearch-filter-search-btn">検索する</button> <button class="entrysearch-filter-clear-btn styleguide-btn-text js-entrysearch-filter-clear-btn">条件をクリアする</button> </div> </div> <div class="search-container"> <h2 class="entrysearch-title"> <span class="entrysearch-word">pipenvの検索結果</span><span class="entrysearch-result">1 - 21 件 / 21件</span> </h2> <div class="alert alert-gray entrysearch-alert" role="note" data-gtm-inview-label="entry-search-fallback-note"> <p>タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。</p> </div> <div class="entrysearch-summary-text"> <span>pipenv</span>に関するエントリは<span>21</span>件あります。 <span>python</span>、 <span>Python</span>、 <span>開発</span> などが関連タグです。 人気エントリには <span>『pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator』</span>などがあります。 </div> <div class="entrysearch-related-entries" data-gtm-inview-label="entry-search-recommend-header"> <h3 class="entrysearch-related-title">pipenvの関連エントリー</h3> <ul class="entrysearch-related-list"> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://dev.classmethod.jp/articles/shuntaka-mcp-study/" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/4a6ca28ed1b6ef46d0684df4d5d412022dec1438/height=288;version=1;width=512/https%3A%2F%2Fdevio2024-media.developers.io%2Fimage%2Fupload%2Fv1743821925%2Fuser-gen-eyecatch%2Fvzl0jn509mxykzxq6i8e.png" alt="Model Context Protocol(MCP)の基礎に関して、社内勉強会で使用したスライド資料を公開します! | DevelopersIO"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://dev.classmethod.jp/articles/shuntaka-mcp-study/" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-title"> Model Context Protocol(MCP)の基礎に関して、社内勉強会で使用したスライド資料を公開します! | DevelopersIO </a> </h4> <a href="/entry/s/dev.classmethod.jp/articles/shuntaka-mcp-study/" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-d-users"> 369 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://zenn.dev/ks0318/articles/4b201527b383fa" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/7051e767e37c09bcb15c0f1088b9d1c25f7953a7/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--RZl5iTEW--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AAI%2525E3%252582%252592%2525E7%252594%2525A8%2525E3%252581%252584%2525E3%252581%25259F%2525E9%252596%25258B%2525E7%252599%2525BA%2525E3%252581%2525AE%2525E5%25258A%2525B9%2525E7%25258E%252587%2525E3%252582%252592%2525E6%25259C%252580%2525E5%2525A4%2525A7%2525E5%25258C%252596%2525E3%252581%252595%2525E3%252581%25259B%2525E3%252582%25258B%2525E3%252581%25259F%2525E3%252582%252581%2525E3%252581%2525AB%2525E3%252582%252584%2525E3%252581%2525A3%2525E3%252581%2525A6%2525E3%252581%252584%2525E3%252582%25258B%2525E3%252581%252593%2525E3%252581%2525A8%2525E3%252582%252592%2525E5%252585%2525A8%2525E9%252583%2525A8%2525E6%25259B%2525B8%2525E3%252581%25258F%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3A%2525E3%252581%252597%2525E3%252581%2525B0%2525E7%252594%2525B0%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzlhMWM5YWI5NTkuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="AIを用いた開発の効率を最大化させるためにやっていることを全部書く"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://zenn.dev/ks0318/articles/4b201527b383fa" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-title"> AIを用いた開発の効率を最大化させるためにやっていることを全部書く </a> </h4> <a href="/entry/s/zenn.dev/ks0318/articles/4b201527b383fa" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-d-users"> 328 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://zenn.dev/kameoncloud/articles/acf36c112d737e" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/5b6461810d39b05a11afa1ae169ba035ce7f5c6b/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--UUJuUp0o--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252583%25258F%2525E3%252583%252583%2525E3%252582%2525B7%2525E3%252583%2525A5%2525E5%25258C%252596%2525E3%252581%2525A0%2525E3%252581%252591%2525E3%252581%2525A7%2525E3%252581%2525AF%2525E3%252582%252582%2525E3%252581%252586%2525E5%25258F%2525A4%2525E3%252581%252584%252520%2525E3%252582%2525BD%2525E3%252583%2525AB%2525E3%252583%252588%252526%2525E3%252583%25259A%2525E3%252583%252583%2525E3%252583%252591%2525E3%252583%2525BC%2525E3%252581%2525A8%2525E3%252581%252584%2525E3%252581%252586%2525E6%25258A%252580%2525E8%2525A1%252593%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Akameoncloud%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2MxY2ViMjdlZDcuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="ハッシュ化だけではもう古い ソルト&amp;ペッパーという技術"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://zenn.dev/kameoncloud/articles/acf36c112d737e" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-title"> ハッシュ化だけではもう古い ソルト&amp;ペッパーという技術 </a> </h4> <a href="/entry/s/zenn.dev/kameoncloud/articles/acf36c112d737e" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-d-users"> 97 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://zenn.dev/ubie_dev/articles/f927aaff02d618" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/dd29b09d9ce603e77897214e177849c665e0f1dc/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--DBUQX0IA--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E7%2525A4%2525BE%2525E5%252586%252585%2525E3%252583%252587%2525E3%252582%2525B6%2525E3%252582%2525A4%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252582%2525B9%2525E3%252583%252586%2525E3%252583%2525A0%2525E3%252582%252592MCP%2525E3%252582%2525B5%2525E3%252583%2525BC%2525E3%252583%252590%2525E3%252583%2525BC%2525E5%25258C%252596%2525E3%252581%252597%2525E3%252581%25259F%2525E3%252582%252589UI%2525E5%2525AE%25259F%2525E8%2525A3%252585%2525E3%252581%25258C%2525E7%252588%252586%2525E9%252580%25259F%2525E3%252581%2525AB%2525E3%252581%2525AA%2525E3%252581%2525A3%2525E3%252581%25259F%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_34%3A%2525E3%252581%252590%2525E3%252582%25258A%2525E3%252581%252593%252Cx_220%252Cy_108%2Fbo_3px_solid_rgb%3Ad6e3ed%252Cg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2VlOWMzMWRhODMuanBlZw%3D%3D%252Cr_20%252Cw_90%252Cx_92%252Cy_102%2Fco_rgb%3A6e7b85%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_30%3AUbie%252520%2525E3%252583%252586%2525E3%252583%252583%2525E3%252582%2525AF%2525E3%252583%252596%2525E3%252583%2525AD%2525E3%252582%2525B0%252Cx_220%252Cy_160%2Fbo_4px_solid_white%252Cg_south_west%252Ch_50%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzliOWQ4NDA0ZjYuanBlZw%3D%3D%252Cr_max%252Cw_50%252Cx_139%252Cy_84%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="社内デザインシステムをMCPサーバー化したらUI実装が爆速になった"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://zenn.dev/ubie_dev/articles/f927aaff02d618" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-title"> 社内デザインシステムをMCPサーバー化したらUI実装が爆速になった </a> </h4> <a href="/entry/s/zenn.dev/ubie_dev/articles/f927aaff02d618" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-d-users"> 561 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://zenn.dev/acntechjp/articles/bdd5816a54ad1b" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/b4986c5c403d9771f1de86bcd3b8da1916e6b34b/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--W0hNwoi4--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252580%252590%2525E6%252596%2525B0%2525E6%252599%252582%2525E4%2525BB%2525A3%2525E3%252581%2525AEAI%2525E3%252582%2525A8%2525E3%252583%2525BC%2525E3%252582%2525B8%2525E3%252582%2525A7%2525E3%252583%2525B3%2525E3%252583%252588%2525E3%252580%252591Genspark%252520Super%252520Agent%252520%2525E8%2525A7%2525A6%2525E3%252581%2525A3%2525E3%252581%2525A6%2525E3%252581%2525BF%2525E3%252581%25259F%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_34%3AMasaki%252520Kudo%252Cx_220%252Cy_108%2Fbo_3px_solid_rgb%3Ad6e3ed%252Cg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2U2ZDA4MDY5ODcuanBlZw%3D%3D%252Cr_20%252Cw_90%252Cx_92%252Cy_102%2Fg_south_west%252Ch_34%252Cl_default%3Aog-publication-pro-mark-xcosax%252Cw_34%252Cx_217%252Cy_158%2Fco_rgb%3A6e7b85%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_30%3AAccenture%252520Japan%252520%252528%2525E6%25259C%252589%2525E5%2525BF%252597%252529%252Cx_255%252Cy_160%2Fbo_4px_solid_white%252Cg_south_west%252Ch_50%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2M3YzBjZDcwZTQuanBlZw%3D%3D%252Cr_max%252Cw_50%252Cx_139%252Cy_84%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="【新時代のAIエージェント】Genspark Super Agent 触ってみた"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://zenn.dev/acntechjp/articles/bdd5816a54ad1b" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-title"> 【新時代のAIエージェント】Genspark Super Agent 触ってみた </a> </h4> <a href="/entry/s/zenn.dev/acntechjp/articles/bdd5816a54ad1b" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-d-users"> 8 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://qiita.com/youtoy/items/adfeedeedf1309f194ce" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-image"> <img src="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/common/noimage.png" alt="VS Code の設定から MCPサーバーを追加して GitHub Copilot agent mode で利用してみる(安定版でも利用可能に) - Qiita"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://qiita.com/youtoy/items/adfeedeedf1309f194ce" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-title"> VS Code の設定から MCPサーバーを追加して GitHub Copilot agent mode で利用してみる(安定版でも利用可能に) - Qiita </a> </h4> <a href="/entry/s/qiita.com/youtoy/items/adfeedeedf1309f194ce" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-d-users"> 37 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://zenn.dev/smartround_dev/articles/d2050ff70a1311" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/bed25760920c987e06eb957d5a776463cf8d63ac/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--9I9y-UEe--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3ACursor%2525E3%252581%2525A8GitHub%2525E3%252581%2525A7MCP%2525E3%252582%2525B5%2525E3%252583%2525BC%2525E3%252583%252590%2525E3%252583%2525BC%2525E3%252581%2525AE%2525E4%2525BD%2525BF%2525E3%252581%252584%2525E6%252596%2525B9%2525E3%252582%252584%2525E3%252581%2525A7%2525E3%252581%25258D%2525E3%252582%25258B%2525E3%252581%252593%2525E3%252581%2525A8%2525E3%252582%252592%2525E3%252581%252596%2525E3%252581%2525A3%2525E3%252581%25258F%2525E3%252582%25258A%2525E6%25258A%25258A%2525E6%25258F%2525A1%2525E3%252581%252599%2525E3%252582%25258B%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_34%3Ainouehi%252Cx_220%252Cy_108%2Fbo_3px_solid_rgb%3Ad6e3ed%252Cg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2EyZGQyNWFiZDUuanBlZw%3D%3D%252Cr_20%252Cw_90%252Cx_92%252Cy_102%2Fco_rgb%3A6e7b85%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_30%3A%2525E3%252582%2525B9%2525E3%252583%25259E%2525E3%252583%2525BC%2525E3%252583%252588%2525E3%252583%2525A9%2525E3%252582%2525A6%2525E3%252583%2525B3%2525E3%252583%252589%252520%2525E3%252583%252586%2525E3%252583%252583%2525E3%252582%2525AF%2525E3%252583%252596%2525E3%252583%2525AD%2525E3%252582%2525B0%252Cx_220%252Cy_160%2Fbo_4px_solid_white%252Cg_south_west%252Ch_50%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzk4NmRhNGQ0NWEuanBlZw%3D%3D%252Cr_max%252Cw_50%252Cx_139%252Cy_84%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="CursorとGitHubでMCPサーバーの使い方やできることをざっくり把握する"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://zenn.dev/smartround_dev/articles/d2050ff70a1311" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-title"> CursorとGitHubでMCPサーバーの使い方やできることをざっくり把握する </a> </h4> <a href="/entry/s/zenn.dev/smartround_dev/articles/d2050ff70a1311" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-d-users"> 26 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://github.com/modelcontextprotocol/servers" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/87a350c9644ba2007cfdd014f2bbda0b2b123a5e/height=288;version=1;width=512/https%3A%2F%2Fopengraph.githubassets.com%2Fb0dca62b1bf25c63e537b07ac83f48293e9427929148ecb46b768b82888d0168%2Fmodelcontextprotocol%2Fservers" alt="GitHub - modelcontextprotocol/servers: Model Context Protocol Servers"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://github.com/modelcontextprotocol/servers" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-title"> GitHub - modelcontextprotocol/servers: Model Context Protocol Servers </a> </h4> <a href="/entry/s/github.com/modelcontextprotocol/servers" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-d-users"> 32 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://github.com/scomup/point-cloud-registration" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/90299307bfb0cbca6517a87ded3109ef7342487d/height=288;version=1;width=512/https%3A%2F%2Fopengraph.githubassets.com%2Ffb5745c255f77d88d88b952232482c7ef056abac1ee13e0050eb78520e448a99%2Fscomup%2Fpoint-cloud-registration" alt="GitHub - scomup/point-cloud-registration"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://github.com/scomup/point-cloud-registration" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-title"> GitHub - scomup/point-cloud-registration </a> </h4> <a href="/entry/s/github.com/scomup/point-cloud-registration" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-d-users"> 7 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://zenn.dev/microsoft/articles/azure-function-mcp" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/b3ad72c6d7c416498e2b46f0740cc4e991355229/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--h3nFEA8m--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AAzure%252520Functions%2525E3%252581%2525A7MCP%2525E3%252582%2525B5%2525E3%252583%2525BC%2525E3%252583%252590%2525E3%252583%2525BC%2525E3%252582%252592%2525E4%2525BD%25259C%2525E3%252582%25258B%2525EF%2525BC%252581%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_34%3AJunpei%252520Tsuchida%2525EF%2525BC%25258807...%252Cx_220%252Cy_108%2Fbo_3px_solid_rgb%3Ad6e3ed%252Cg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2MzZDNiN2I3OGYuanBlZw%3D%3D%252Cr_20%252Cw_90%252Cx_92%252Cy_102%2Fco_rgb%3A6e7b85%252Cg_south_west%252Cl_text%3Anotosansjp-medium.otf_30%3AMicrosoft%252520%252528%2525E6%25259C%252589%2525E5%2525BF%252597%252529%252Cx_220%252Cy_160%2Fbo_4px_solid_white%252Cg_south_west%252Ch_50%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2lQa0Vqc2NGS1VkNVdjN2UyRTd6X0ZxbjNScWdrVzVUY2wzUWlwQmc9czI1MC1j%252Cr_max%252Cw_50%252Cx_139%252Cy_84%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="Azure FunctionsでMCPサーバーを作る!"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://zenn.dev/microsoft/articles/azure-function-mcp" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-header-d-title"> Azure FunctionsでMCPサーバーを作る! </a> </h4> <a href="/entry/s/zenn.dev/microsoft/articles/azure-function-mcp" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-header-d-users"> 22 users </a> </div> </li> </ul> </div> <ul class="entrysearch-articles"> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://vaaaaaanquish.hatenablog.com/entry/2021/03/29/221715"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://vaaaaaanquish.hatenablog.com/entry/2021/03/29/221715" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fvaaaaaanquish.hatenablog.com%2Fentry%2F2021%2F03%2F29%2F221715" alt="">pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/vaaaaaanquish.hatenablog.com/entry/2021/03/29/221715" class="js-keyboard-entry-page-openable" title="pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator (657 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 657 users </a> </span> </li> <li> <a href="/site/vaaaaaanquish.hatenablog.com/" title="『vaaaaaanquish.hatenablog.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> vaaaaaanquish.hatenablog.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/03/29</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">- はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> <li><a href="/q/pip" data-gtm-click-label="entry-search-result-item-tag">pip</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/pipenv" data-gtm-click-label="entry-search-result-item-tag">pipenv</a></li> <li><a href="/q/poetry" data-gtm-click-label="entry-search-result-item-tag">poetry</a></li> <li><a href="/q/%E3%83%84%E3%83%BC%E3%83%AB" data-gtm-click-label="entry-search-result-item-tag">ツール</a></li> <li><a href="/q/%E6%8A%80%E8%A1%93" data-gtm-click-label="entry-search-result-item-tag">技術</a></li> <li><a href="/q/%E6%AD%B4%E5%8F%B2" data-gtm-click-label="entry-search-result-item-tag">歴史</a></li> <li><a href="/q/github" data-gtm-click-label="entry-search-result-item-tag">github</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://vaaaaaanquish.hatenablog.com/entry/2021/03/29/221715"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://vaaaaaanquish.hatenablog.com/entry/2021/03/29/221715" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/f1aa892dd02ed4df897b98372c21a450b6f4eb9b/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fd92d9c1989641e69a78384ee1c7085fc17b7c0f1%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fv%252Fvaaaaaanquish%252F20210329%252F20210329011401.png" alt="pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry "> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://blog.uedder.com/2020_python_develop_envirionment.html"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://blog.uedder.com/2020_python_develop_envirionment.html" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.uedder.com%2F2020_python_develop_envirionment.html" alt="">Pipenv をやめて venv を使いだした話 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.uedder.com/2020_python_develop_envirionment.html" class="js-keyboard-entry-page-openable" title="Pipenv をやめて venv を使いだした話 (15 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 15 users </a> </span> </li> <li> <a href="/site/blog.uedder.com/" title="『blog.uedder.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> blog.uedder.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/01/22</span></li> </ul> </div> <div class="centerarticle-entry-contents "> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">tl;dr 仮想環境の作成 Python の開発には組み込みの venv で閉じた環境(仮想環境)を作成できる。 環境の自動化 direnv を入れればカレントディレクトに応じて activate/deactivate を自動化できる。 これは .envrc に layout python を書けばいい。 Python バージョンを指定した仮想環境の作成 任意の Python バージョンを指定したい場合、pyenv を使う。 インストール済なら .envrc を layout python ~/.pyenv/versions/3.X.X/bin/python のように Python のパスを末尾に書けば、3.X.X のバージョンで仮想環境が作成される。1 依存ライブラリの管理 依存ライブラリのバージョン固定には pip-tools を使う。 これは仮想環境ごとにインストールする。 $ pi</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://blog.uedder.com/2020_python_develop_envirionment.html"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://zenn.dev/nekoallergy/articles/py-env-pipenv01"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/nekoallergy/articles/py-env-pipenv01" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fnekoallergy%2Farticles%2Fpy-env-pipenv01" alt="">【図解】作業が倍速!pipenvの使い方【Python】 </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/nekoallergy/articles/py-env-pipenv01" class="js-keyboard-entry-page-openable" title="【図解】作業が倍速!pipenvの使い方【Python】 (14 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 14 users </a> </span> </li> <li> <a href="/site/zenn.dev/nekoallergy" title="『zenn.dev/nekoallergy』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> zenn.dev/nekoallergy </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/11/02</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">悩み ① Python3.6 を使っているけれど、Python3.8 も同時に使いたい... ⏩ 環境の使い分けが難しい 悩み ② パッケージをたくさん入れすぎて、もう何がなんだが分からない... ⏩ パッケージの管理が大変 遅かれ早かれ、Python 使いならこの問題には必ずぶち当たる日が来ます。これらの悩みは pipenv を使うことで解決することができます。 今回は、今注目されている pipenv の使い方とイメージを図解して解説します。 Python の基礎を本にまとめています。併せてご覧いただけるととても嬉しいです ↓ DeepLearning の基礎を本にまとめています。手に取って頂けるととても喜びます ↓ Created by NekoAllergy pipenv ってなに? pipenv とは、Python のパッケージ管理と仮想環境の構築を簡単に、自動で行ってくれる便利な</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/pipenv" data-gtm-click-label="entry-search-result-item-tag">pipenv</a></li> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> <li><a href="/q/%E9%96%8B%E7%99%BA" data-gtm-click-label="entry-search-result-item-tag">開発</a></li> <li><a href="/q/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0" data-gtm-click-label="entry-search-result-item-tag">プログラミング</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://zenn.dev/nekoallergy/articles/py-env-pipenv01"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://zenn.dev/nekoallergy/articles/py-env-pipenv01" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/ce71143fb8180b9e65022f2f977096c49c853b00/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--fqla63cj--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252580%252590%2525E5%25259B%2525B3%2525E8%2525A7%2525A3%2525E3%252580%252591%2525E4%2525BD%25259C%2525E6%2525A5%2525AD%2525E3%252581%25258C%2525E5%252580%25258D%2525E9%252580%25259F%2525EF%2525BC%252581pipenv%2525E3%252581%2525AE%2525E4%2525BD%2525BF%2525E3%252581%252584%2525E6%252596%2525B9%2525E3%252580%252590Python%2525E3%252580%252591%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3ANekoAllergy%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzRkMzhmNmU1YjguanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="【図解】作業が倍速!pipenvの使い方【Python】" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://zenn.dev/ryoma310/articles/63bc3d20a8746c"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://zenn.dev/ryoma310/articles/63bc3d20a8746c" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fzenn.dev%2Fryoma310%2Farticles%2F63bc3d20a8746c" alt="">Stable Diffusion を M2 Macのpipenvで動かす </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/zenn.dev/ryoma310/articles/63bc3d20a8746c" class="js-keyboard-entry-page-openable" title="Stable Diffusion を M2 Macのpipenvで動かす (10 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 10 users </a> </span> </li> <li> <a href="/site/zenn.dev/ryoma310" title="『zenn.dev/ryoma310』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> zenn.dev/ryoma310 </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2022/08/25</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Stable Diffusionがオープンソースで公開されたので、色々できそうだと思って試してみました。 とはいえ、手元にNvidiaのGPUなんて持っておらず、最近だとpytorchでApple Silicon搭載のGPUが使えるというのも耳にしていたのでそれでうまいことできないかと考えながらやっていきました。 また、個人的にpipenvが好きなのでcondaの代わりにこれを使ってます。 とりあえず無事コードが動くようになるまで。 1. 環境 M2のMacBook Air cpu: 8コア memory: 16GB GPU: 10コア pipenv 2. 環境構築の前準備 すでにいろんな方が試されていたので、それを参考に進めていきました。 Githubからコードのcloneと事前学習済みのモデルのダウンロードをやっていきます。 その前にインストール諸々をする中で必要なものがあったのをbr</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92" data-gtm-click-label="entry-search-result-item-tag">機械学習</a></li> <li><a href="/q/Mac" data-gtm-click-label="entry-search-result-item-tag">Mac</a></li> <li><a href="/q/%E7%94%BB%E5%83%8F" data-gtm-click-label="entry-search-result-item-tag">画像</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://zenn.dev/ryoma310/articles/63bc3d20a8746c"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://zenn.dev/ryoma310/articles/63bc3d20a8746c" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/8ae6101f2d99735528b1d1e66ea696ac7e79e80f/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--MaiCeiUt--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AStable%252520Diffusion%252520%2525E3%252582%252592%252520M2%252520Mac%2525E3%252581%2525AEpipenv%2525E3%252581%2525A7%2525E5%25258B%252595%2525E3%252581%25258B%2525E3%252581%252599%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Aryoma310%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2ZkOTBlMWY2YjUuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="Stable Diffusion を M2 Macのpipenvで動かす" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <div class="related-entry-wrapper"> <div class="entrysearch-related-entries" data-gtm-inview-label="entry-search-recommend-middle"> <h3 class="entrysearch-related-title">pipenvの関連エントリー</h3> <ul class="entrysearch-related-list"> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://voluntas.ghost.io/why-mcp/" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/6d76e896b0ab6ca870e2c682860be6fffbc4e015/height=288;version=1;width=512/https%3A%2F%2Fstatic.ghost.org%2Fv5.0.0%2Fimages%2Fpublication-cover.jpg" alt="なぜ MCP なのか"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://voluntas.ghost.io/why-mcp/" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> なぜ MCP なのか </a> </h4> <a href="/entry/s/voluntas.ghost.io/why-mcp/" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 401 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://dev.classmethod.jp/articles/shuntaka-mcp-study/" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/4a6ca28ed1b6ef46d0684df4d5d412022dec1438/height=288;version=1;width=512/https%3A%2F%2Fdevio2024-media.developers.io%2Fimage%2Fupload%2Fv1743821925%2Fuser-gen-eyecatch%2Fvzl0jn509mxykzxq6i8e.png" alt="Model Context Protocol(MCP)の基礎に関して、社内勉強会で使用したスライド資料を公開します! | DevelopersIO"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://dev.classmethod.jp/articles/shuntaka-mcp-study/" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> Model Context Protocol(MCP)の基礎に関して、社内勉強会で使用したスライド資料を公開します! | DevelopersIO </a> </h4> <a href="/entry/s/dev.classmethod.jp/articles/shuntaka-mcp-study/" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 367 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://zenn.dev/ks0318/articles/4b201527b383fa" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/7051e767e37c09bcb15c0f1088b9d1c25f7953a7/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--RZl5iTEW--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AAI%2525E3%252582%252592%2525E7%252594%2525A8%2525E3%252581%252584%2525E3%252581%25259F%2525E9%252596%25258B%2525E7%252599%2525BA%2525E3%252581%2525AE%2525E5%25258A%2525B9%2525E7%25258E%252587%2525E3%252582%252592%2525E6%25259C%252580%2525E5%2525A4%2525A7%2525E5%25258C%252596%2525E3%252581%252595%2525E3%252581%25259B%2525E3%252582%25258B%2525E3%252581%25259F%2525E3%252582%252581%2525E3%252581%2525AB%2525E3%252582%252584%2525E3%252581%2525A3%2525E3%252581%2525A6%2525E3%252581%252584%2525E3%252582%25258B%2525E3%252581%252593%2525E3%252581%2525A8%2525E3%252582%252592%2525E5%252585%2525A8%2525E9%252583%2525A8%2525E6%25259B%2525B8%2525E3%252581%25258F%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3A%2525E3%252581%252597%2525E3%252581%2525B0%2525E7%252594%2525B0%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzlhMWM5YWI5NTkuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="AIを用いた開発の効率を最大化させるためにやっていることを全部書く"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://zenn.dev/ks0318/articles/4b201527b383fa" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> AIを用いた開発の効率を最大化させるためにやっていることを全部書く </a> </h4> <a href="/entry/s/zenn.dev/ks0318/articles/4b201527b383fa" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 325 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://togetter.com/li/2534748" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/207d10d9b399236a73187864c1a1a38cc0152acd/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2F4ee76c97477348856c792dccf86de45a-1200x630.jpeg" alt="20年程使っていたYahoo! JAPAN IDが突如何故か利用停止になりました→同様の体験談が多数寄せられる"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://togetter.com/li/2534748" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> 20年程使っていたYahoo! JAPAN IDが突如何故か利用停止になりました→同様の体験談が多数寄せられる </a> </h4> <a href="/entry/s/togetter.com/li/2534748" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 230 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://speakerdeck.com/shuntaka/introduction-to-mcp" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/418db363d7031b9a6efe7782e6de9695c759f856/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F4d38ba718577441bb8c97392c3cdb0cd%2Fslide_0.jpg%3F34546593" alt="MCPに入門する/ Introduction to MCP"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://speakerdeck.com/shuntaka/introduction-to-mcp" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> MCPに入門する/ Introduction to MCP </a> </h4> <a href="/entry/s/speakerdeck.com/shuntaka/introduction-to-mcp" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 87 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://chatgpt-lab.com/n/nc30d0aff7ef7" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/98a6d7327bb41dd196d665998ecf6c9801ca1f69/height=288;version=1;width=512/https%3A%2F%2Fassets.st-note.com%2Fproduction%2Fuploads%2Fimages%2F182649323%2Frectangle_large_type_2_731e8425ca3066b80ef9ba966c4d59ab.png%3Ffit%3Dbounds%26quality%3D85%26width%3D1280" alt="【完全攻略】GPT-4o画像生成プロンプト実例集|ChatGPT研究所"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://chatgpt-lab.com/n/nc30d0aff7ef7" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> 【完全攻略】GPT-4o画像生成プロンプト実例集|ChatGPT研究所 </a> </h4> <a href="/entry/s/chatgpt-lab.com/n/nc30d0aff7ef7" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 87 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://developersblog.dmm.com/entry/2025/04/04/110000" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/0664128af6c825bd8000c69e56acaa321ec35540/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F4814769e108b80961b892b62767d09653fe01dc7%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252FD%252FDMMTech%252F20250401%252F20250401104353.jpg" alt="DevinとClineをDMMで導入しました〜トライアルから見えた成果の共有〜 - DMM Developers Blog"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://developersblog.dmm.com/entry/2025/04/04/110000" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> DevinとClineをDMMで導入しました〜トライアルから見えた成果の共有〜 - DMM Developers Blog </a> </h4> <a href="/entry/s/developersblog.dmm.com/entry/2025/04/04/110000" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 160 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://zenn.dev/kameoncloud/articles/acf36c112d737e" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/5b6461810d39b05a11afa1ae169ba035ce7f5c6b/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--UUJuUp0o--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252583%25258F%2525E3%252583%252583%2525E3%252582%2525B7%2525E3%252583%2525A5%2525E5%25258C%252596%2525E3%252581%2525A0%2525E3%252581%252591%2525E3%252581%2525A7%2525E3%252581%2525AF%2525E3%252582%252582%2525E3%252581%252586%2525E5%25258F%2525A4%2525E3%252581%252584%252520%2525E3%252582%2525BD%2525E3%252583%2525AB%2525E3%252583%252588%252526%2525E3%252583%25259A%2525E3%252583%252583%2525E3%252583%252591%2525E3%252583%2525BC%2525E3%252581%2525A8%2525E3%252581%252584%2525E3%252581%252586%2525E6%25258A%252580%2525E8%2525A1%252593%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Akameoncloud%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2MxY2ViMjdlZDcuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png" alt="ハッシュ化だけではもう古い ソルト&amp;ペッパーという技術"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://zenn.dev/kameoncloud/articles/acf36c112d737e" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> ハッシュ化だけではもう古い ソルト&amp;ペッパーという技術 </a> </h4> <a href="/entry/s/zenn.dev/kameoncloud/articles/acf36c112d737e" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 97 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://speakerdeck.com/e869120/p-vs-np-in-90-minutes" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/60a80bfda8670867b399639556f78e38c9868a4e/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fc683532a614548d79d1ca4e11444bf8f%2Fslide_0.jpg%3F34554607" alt="90 分で学ぶ P 対 NP 問題"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://speakerdeck.com/e869120/p-vs-np-in-90-minutes" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> 90 分で学ぶ P 対 NP 問題 </a> </h4> <a href="/entry/s/speakerdeck.com/e869120/p-vs-np-in-90-minutes" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 182 users </a> </div> </li> <li class="entrysearch-related-listitem"> <div class="entrysearch-related-entry"> <a href="https://www.itmedia.co.jp/news/articles/2504/05/news061.html" class="entrysearch-related-image" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-image"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/f3150dde65b07c5faad631376b3833869afe794f/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fnews%2Farticles%2F2504%2F05%2Fcover_news061.png" alt="ダイソーから“ジェネリックAirタグ” Apple「探す」対応 1100円"> </a> <h4 class="entrysearch-related-entry-title"> <a href="https://www.itmedia.co.jp/news/articles/2504/05/news061.html" target="_blank" rel="noopener" data-gtm-click-label="entry-search-recommend-middle-title"> ダイソーから“ジェネリックAirタグ” Apple「探す」対応 1100円 </a> </h4> <a href="/entry/s/www.itmedia.co.jp/news/articles/2504/05/news061.html" class="entrysearch-related-users" data-gtm-click-label="entry-search-recommend-middle-users"> 196 users </a> </div> </li> </ul> </div> </div> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://dev.classmethod.jp/articles/pipenv-sync-is-useful/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://dev.classmethod.jp/articles/pipenv-sync-is-useful/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fdev.classmethod.jp%2Farticles%2Fpipenv-sync-is-useful%2F" alt="">Pipfile.lockで固定された依存関係を再現するならpipenv syncコマンドを使おう | DevelopersIO </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/dev.classmethod.jp/articles/pipenv-sync-is-useful/" class="js-keyboard-entry-page-openable" title="Pipfile.lockで固定された依存関係を再現するならpipenv syncコマンドを使おう | DevelopersIO (8 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 8 users </a> </span> </li> <li> <a href="/site/dev.classmethod.jp/" title="『dev.classmethod.jp』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> dev.classmethod.jp </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/05/04</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">こんにちは、CX事業本部の若槻です。 今回は、Pipenvで仮想環境を再現するコマンドを色々と触ってみたところ、「誰かが作成したPipfile.lockをもとに、別のメンバーが同じ依存関係(パッケージバージョン)の環境を再現するならpipenv syncコマンドを使えば良さそう!」という結論に至ったのでご紹介します。 Pipenvとは Pipenv: Python Dev Workflow for Humans Pipenv is a tool that aims to bring the best of all packaging worlds (bundler, composer, npm, cargo, yarn, etc.) to the Python world. Windows is a first-class citizen, in our world. It automat</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/pipenv" data-gtm-click-label="entry-search-result-item-tag">pipenv</a></li> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://dev.classmethod.jp/articles/pipenv-sync-is-useful/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://dev.classmethod.jp/articles/pipenv-sync-is-useful/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/676cbdfcd4517b4c0ed0566a3a2e2c32ed0f4db2/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2019%2F02%2Fpython_icatch.png" alt="Pipfile.lockで固定された依存関係を再現するならpipenv syncコマンドを使おう | DevelopersIO" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://qiita.com/tonluqclml/items/cd0d2a2cb0197cbaee42"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/tonluqclml/items/cd0d2a2cb0197cbaee42" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Ftonluqclml%2Fitems%2Fcd0d2a2cb0197cbaee42" alt="">pipenv で任意の場所の仮想環境を使う - Qiita </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/tonluqclml/items/cd0d2a2cb0197cbaee42" class="js-keyboard-entry-page-openable" title="pipenv で任意の場所の仮想環境を使う - Qiita (8 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 8 users </a> </span> </li> <li> <a href="/site/qiita.com/tonluqclml" title="『qiita.com/tonluqclml』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> qiita.com/tonluqclml </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/05/09</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">pipenv は初期設定では ~/.local/share/virtualenvs/ の下に仮想環境を作ります。 $ pipenv install ... Virtualenv location: /Users/a-hoge/.venvs/spam-O71st27X ... しかし、実際に使う上では、 ~/.local/share/virtualenvs/ではなく ~/.venvs の下に作りたい プロジェクトの直下に作りたい すでに仮想環境を作ってあるので、そこにインストールしたい などと、仮想環境の場所を変えたいことがよくあります。 $WORKON_HOME: 仮想環境の親ディレクトリを変える $WORKON_HOME を定義すると、仮想環境はその下に作られます。</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/pipenv" data-gtm-click-label="entry-search-result-item-tag">pipenv</a></li> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://qiita.com/tonluqclml/items/cd0d2a2cb0197cbaee42"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://qiita.com/tonluqclml/items/cd0d2a2cb0197cbaee42" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/a9dbe3792494dd37849dc0b3f8e09dd0485d427e/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9cGlwZW52JTIwJUUzJTgxJUE3JUU0JUJCJUJCJUU2JTg0JThGJUUzJTgxJUFFJUU1JUEwJUI0JUU2JTg5JTgwJUUzJTgxJUFFJUU0JUJCJUFFJUU2JTgzJUIzJUU3JTkyJUIwJUU1JUEyJTgzJUUzJTgyJTkyJUU0JUJEJUJGJUUzJTgxJTg2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz03YjRkMTc5MTU5NDNkNjRlYzBlMWM2ODY4ZDQxMjBmMA%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0b25sdXFjbG1sJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0xYmYzMGUwNzE3MzkzZDVjMGVhMDAwYThhOWZlMzgzMQ%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D6ecb27df1d49a074b5ff8d06a14a060b" alt="pipenv で任意の場所の仮想環境を使う - Qiita" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://dev.classmethod.jp/articles/fix-pipenv-with-actions-cache-workflow/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://dev.classmethod.jp/articles/fix-pipenv-with-actions-cache-workflow/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fdev.classmethod.jp%2Farticles%2Ffix-pipenv-with-actions-cache-workflow%2F" alt="">[GitHub Actions]actions/cache&pipenv&pytestの組み合わせを正常動作するまで検証&修正した記録 | DevelopersIO </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/dev.classmethod.jp/articles/fix-pipenv-with-actions-cache-workflow/" class="js-keyboard-entry-page-openable" title="[GitHub Actions]actions/cache&pipenv&pytestの組み合わせを正常動作するまで検証&修正した記録 | DevelopersIO (5 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 5 users </a> </span> </li> <li> <a href="/site/dev.classmethod.jp/" title="『dev.classmethod.jp』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> dev.classmethod.jp </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/02/02</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">[GitHub Actions]actions/cache&pipenv&pytestの組み合わせを正常動作するまで検証&修正した記録 ActionsのWorkflow上でpipenvのインストールと時短目的のキャッシュにactions/cacheを利用していましたが、ログを見たところ全く想定した通りの動作になっていませんでした。正常な指定になっていなかった点や、訂正後の状態を合わせてまとめました。 はじめに GitHub ActionsのWorkflowにて、pipenvを使いつつcache化させて効率よく動かす、ということをされている方は多いと思われます。私自身、担当プロジェクトにて効率よく動かしている、と思っていました。一応キャッシュはしていたものの、キャッシュを無視して毎回インストールするフローになっていたのは不覚の極みでした。 正常にキャッシュされているかどうかの見極めと、pip</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/github" data-gtm-click-label="entry-search-result-item-tag">github</a></li> <li><a href="/q/test" data-gtm-click-label="entry-search-result-item-tag">test</a></li> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://dev.classmethod.jp/articles/fix-pipenv-with-actions-cache-workflow/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://dev.classmethod.jp/articles/fix-pipenv-with-actions-cache-workflow/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/d1762eaf81b2855f2648b259156f5cb9c7592542/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2019%2F07%2Fgithub-eyecatch.png" alt="[GitHub Actions]actions/cache&pipenv&pytestの組み合わせを正常動作するまで検証&修正した記録 | DevelopersIO" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://qiita.com/tamanobi/items/821b83d465548b88f1e9"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/tamanobi/items/821b83d465548b88f1e9" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Ftamanobi%2Fitems%2F821b83d465548b88f1e9" alt="">今後どんどん流行るだろう Poetry に Pipenv から移行するために作った Dockerfile と タスクランナー - Qiita </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/tamanobi/items/821b83d465548b88f1e9" class="js-keyboard-entry-page-openable" title="今後どんどん流行るだろう Poetry に Pipenv から移行するために作った Dockerfile と タスクランナー - Qiita (5 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 5 users </a> </span> </li> <li> <a href="/site/qiita.com/tamanobi" title="『qiita.com/tamanobi』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> qiita.com/tamanobi </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/05/15</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">今後どんどん流行るだろう Poetry に Pipenv から移行するために作った Dockerfile と タスクランナーPythonShellScriptMakefiledockerfilePoetry サンプルコード:https://github.com/tamanobi/poetry-with-docker-sample 次の点を踏まえて、 Pipenv から Poetry へ移行しました。そのときの知見をここに記します。 Pipenv はメンテナンス頻度が落ちていること Pipenv のライブラリ依存解決の機能が遅く、解決できなくなることが多くなること メンテナンス頻度の懸念は、安定しており変更もほぼ必要ない状態であれば問題ありません。しかし2つ目の問題が障害になりました。 Pipenv を使っている人は感じていると思いますが、 Pipenv の lock ファイル生成は長い時間</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/Pipenv" data-gtm-click-label="entry-search-result-item-tag">Pipenv</a></li> <li><a href="/q/Poetry" data-gtm-click-label="entry-search-result-item-tag">Poetry</a></li> <li><a href="/q/Python" data-gtm-click-label="entry-search-result-item-tag">Python</a></li> <li><a href="/q/docker" data-gtm-click-label="entry-search-result-item-tag">docker</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://qiita.com/tamanobi/items/821b83d465548b88f1e9"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://qiita.com/tamanobi/items/821b83d465548b88f1e9" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/0d9cb189f17004679be8a27df8d92dceeaf7b62f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU0JUJCJThBJUU1JUJFJThDJUUzJTgxJUE5JUUzJTgyJTkzJUUzJTgxJUE5JUUzJTgyJTkzJUU2JUI1JTgxJUU4JUExJThDJUUzJTgyJThCJUUzJTgxJUEwJUUzJTgyJThEJUUzJTgxJTg2JTIwUG9ldHJ5JTIwJUUzJTgxJUFCJTIwUGlwZW52JTIwJUUzJTgxJThCJUUzJTgyJTg5JUU3JUE3JUJCJUU4JUExJThDJUUzJTgxJTk5JUUzJTgyJThCJUUzJTgxJTlGJUUzJTgyJTgxJUUzJTgxJUFCJUU0JUJEJTlDJUUzJTgxJUEzJUUzJTgxJTlGJTIwRG9ja2VyZmlsZSUyMCVFMyU4MSVBOCUyMCVFMyU4MiVCRiVFMyU4MiVCOSVFMyU4MiVBRiVFMyU4MyVBOSVFMyU4MyVCMyVFMyU4MyU4QSVFMyU4MyVCQyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9YzM4NDhlMjUyNjExNWE3ZWRhOTg2ZjkyNTViODQ3NDE%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0YW1hbm9iaSZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZDc5OGI2NWExYzFhMWU2M2U3YWNlNDZhNTJjMmMxZmE%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D225f5e1f561ff445d5cbd5e7103d5bfe" alt="今後どんどん流行るだろう Poetry に Pipenv から移行するために作った Dockerfile と タスクランナー - Qiita" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://qiita.com/niccari/items/50b930dd5de65d0c71af"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/niccari/items/50b930dd5de65d0c71af" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fniccari%2Fitems%2F50b930dd5de65d0c71af" alt="">Mac(M1 CPU)で、互換性のあるpyenv+pipenvの環境を作る - Qiita </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/niccari/items/50b930dd5de65d0c71af" class="js-keyboard-entry-page-openable" title="Mac(M1 CPU)で、互換性のあるpyenv+pipenvの環境を作る - Qiita (4 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 4 users </a> </span> </li> <li> <a href="/site/qiita.com/niccari" title="『qiita.com/niccari』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> qiita.com/niccari </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2022/01/24</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">SNSピリカやタカノメのサービスでは、バックエンドで度々Pythonを使用しています。その中でいくつかPythonで書かれたコードがあり、プロジェクトに応じ別のPythonバージョンで実装しています。 しかしながら、Mac(M1 CPU)からarm64ベースのアーキテクチャになったこともあり、一部Pythonバージョンや一部ライブラリがインストールできないことが多々あります。 そこで、複数のPythonバージョンで仮想環境を切り分けられるよう、pyenv + pipenvの環境を整えました。 (2024.01 追記) もしWebフロントエンドなど、複数言語のバージョン管理が必要であれば、pyenvのかわりにmise(旧rtx)(ないし分岐元のasdf)やanyenvを利用しても良いかもしれません。特にasdf(ないしrtx)は様々な言語をプラグインでサポートしています(参考)。 (2022</p> <ul class="entrysearch-entry-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://qiita.com/niccari/items/50b930dd5de65d0c71af"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://qiita.com/niccari/items/50b930dd5de65d0c71af" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/e65de66de32c94c3ff55520289fd7d5c1955f827/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9TWFjJTI4TTElMjBDUFUlMjklRTMlODElQTclRTMlODAlODElRTQlQkElOTIlRTYlOEYlOUIlRTYlODAlQTclRTMlODElQUUlRTMlODElODIlRTMlODIlOEJweWVudiUyQnBpcGVudiVFMyU4MSVBRSVFNyU5MiVCMCVFNSVBMiU4MyVFMyU4MiU5MiVFNCVCRCU5QyVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9ZDcwYzJmYTE2MDlkNzdhZmQzYjgzNTM5MDExMDc0ODM%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBuaWNjYXJpJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0wMjQzZWYzNmVhZGE2YzdmOGY4OTMzMTFhMzkxNjAxZQ%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-44OU44Oq44Kr%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%25231E2121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3Df2e32513bc9a79ee6566d776327a67bf" alt="Mac(M1 CPU)で、互換性のあるpyenv+pipenvの環境を作る - Qiita" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://qiita.com/craymaru/items/0d22c1c542cf4a8326ee"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/craymaru/items/0d22c1c542cf4a8326ee" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fcraymaru%2Fitems%2F0d22c1c542cf4a8326ee" alt="">asdf で Python 3.9.1 + pipenv をインストールする - Qiita </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/craymaru/items/0d22c1c542cf4a8326ee" class="js-keyboard-entry-page-openable" title="asdf で Python 3.9.1 + pipenv をインストールする - Qiita (4 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 4 users </a> </span> </li> <li> <a href="/site/qiita.com/craymaru" title="『qiita.com/craymaru』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> qiita.com/craymaru </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/12/29</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Python のバージョン管理を、pyenv から asdf へお引っ越ししたので、再度 Python と pipenv をインストールしていきます。 パッケージ管理は pipenv が使いやすかったので引き続き使います。 前提 asdf をすでに導入している状態を前提とします。 インストールと確認 Python 3.9.1をインストールし、確認します。 # プラグインをインストール asdf plugin-add python # インストール可能なバージョンの確認 asdf list-all python # インストール asdf install python 3.9.1 # 実体の確認 where python /Users/USERNAME/.asdf/shims/python asdf which python /Users/USERNAME/.asdf/installs/py</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/Python" data-gtm-click-label="entry-search-result-item-tag">Python</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://qiita.com/craymaru/items/0d22c1c542cf4a8326ee"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://qiita.com/craymaru/items/0d22c1c542cf4a8326ee" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/0d75bf04956ade5034a914635e9dd77b4ae48cdf/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9YXNkZiUyMCVFMyU4MSVBNyUyMFB5dGhvbiUyMDMuOS4xJTIwJTJCJTIwcGlwZW52JTIwJUUzJTgyJTkyJUUzJTgyJUE0JUUzJTgzJUIzJUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgzJUJDJUUzJTgzJUFCJUUzJTgxJTk5JUUzJTgyJThCJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz0zMDJkMWU3ZmI4ZmRlMmQ2OThhZjkzMDYwNzliZWI0Yg%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBjcmF5bWFydSZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NDRkZGFhNGM1NTE4NzdjNDE4NzM2YTk0YWMxYjA0ZjE%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D39c6eea7f8f7ac8eb50d4ee7d5c8ee52" alt="asdf で Python 3.9.1 + pipenv をインストールする - Qiita" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry "> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://rinatz.github.io/python-book/ch04-05-pipenv/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://rinatz.github.io/python-book/ch04-05-pipenv/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Frinatz.github.io%2Fpython-book%2Fch04-05-pipenv%2F" alt="">4.5. pipenv - ゼロから学ぶ Python </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/rinatz.github.io/python-book/ch04-05-pipenv/" class="js-keyboard-entry-page-openable" title="4.5. pipenv - ゼロから学ぶ Python (4 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 4 users </a> </span> </li> <li> <a href="/site/rinatz.github.io/" title="『rinatz.github.io』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> rinatz.github.io </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/12/17</span></li> </ul> </div> <div class="centerarticle-entry-contents "> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">ホーム 1. Python を始める 2. 基本仕様 3. クラス 4. モジュールとパッケージ 5. ファイル操作 6. 例外 7. ジェネレータ 8. テスト pipenv¶ pipenv は pip と venv の両方の機能を兼ね備えたサードパーティ製のパッケージ管理ツールです。venv で仮想環境を作成してから pip でパッケージをインストールするまでの手順では下記のように異なるコマンドを実行する必要がありますが、これを 1 つのコマンドで実行できるようにしたものが pipenv です。 操作 コマンド (macOS, Linux) コマンド (Windows)</p> <ul class="entrysearch-entry-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://rinatz.github.io/python-book/ch04-05-pipenv/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://dev.classmethod.jp/articles/tips-select-install-source-pipenv-pyenvs/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://dev.classmethod.jp/articles/tips-select-install-source-pipenv-pyenvs/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fdev.classmethod.jp%2Farticles%2Ftips-select-install-source-pipenv-pyenvs%2F" alt="">Pyenvとpipenvのインストールを依存するPythonバージョンから考えてみた[簡易フローチャート付き] | DevelopersIO </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/dev.classmethod.jp/articles/tips-select-install-source-pipenv-pyenvs/" class="js-keyboard-entry-page-openable" title="Pyenvとpipenvのインストールを依存するPythonバージョンから考えてみた[簡易フローチャート付き] | DevelopersIO (4 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 4 users </a> </span> </li> <li> <a href="/site/dev.classmethod.jp/" title="『dev.classmethod.jp』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> dev.classmethod.jp </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/06/09</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Pyenvとpipenvの依存環境とPythonバージョンの関係について、振り返りつつ備忘録としてまとめました。また、「ではどれを選択すべきか」という点で簡潔ながらフローも描いてみました。 Pythonを初めて使う人や、複数人によるチームでPythonを使う際の検討事案として、Pyenvとpipenvの導入ルートがあります。結果として正常に動いていればいいのですが、複数プロジェクトを抱えている場合にプロジェクト毎に使うPythonのバージョンが異なったり、アップデートで更新が必要となるのはよくあることです。 セットアップ手段での依存バージョンがまとまっている記事は案外見つからず、依存関係のトラブル解決の糸口として記録に残しておくのもありだと考えました。 大元のインストールソースとそれぞれメリットとデメリットを挙げてみました。また、今回の記事はPyenv + pipenvの組み合わせを前提と</p> <ul class="entrysearch-entry-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://dev.classmethod.jp/articles/tips-select-install-source-pipenv-pyenvs/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://dev.classmethod.jp/articles/tips-select-install-source-pipenv-pyenvs/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/47371cd63121a4cc67ed74841e706530c7e548f8/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2019%2F04%2Fpython.png" alt="Pyenvとpipenvのインストールを依存するPythonバージョンから考えてみた[簡易フローチャート付き] | DevelopersIO" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://future-architect.github.io/articles/20220202a/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://future-architect.github.io/articles/20220202a/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Ffuture-architect.github.io%2Farticles%2F20220202a%2F" alt="">Pipenv+LocalStackで作るLambda開発環境 | フューチャー技術ブログ </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/future-architect.github.io/articles/20220202a/" class="js-keyboard-entry-page-openable" title="Pipenv+LocalStackで作るLambda開発環境 | フューチャー技術ブログ (4 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 4 users </a> </span> </li> <li> <a href="/site/future-architect.github.io/" title="『future-architect.github.io』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> future-architect.github.io </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2022/02/10</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">はじめにこんにちは、TIG/DXユニット所属の宮永です。 PipenvとLocalStackを使用したLambda開発環境の構築を紹介します。 本記事で作成するデモアプリは以下のGitHubリポジトリに格納しています。ご参考にしてください。 https://github.com/orangekame3/pipenv-lambda 【本記事で伝えたいこと】 本記事で最も伝えたいことはデプロイパッケージと開発パッケージの分離です。 Pipenvを使用することでzipの容量を節約しながらLambdaをデプロイすることができます。 やや長い記事となっていますので、「LocalStackへのデプロイ」の章だけでも見ていただけると幸いです。 PipenvとはPipenvはパッケージ管理ツールです。似たようなツールにPoetry等があります。 Poetryを使用したPython開発環境の構築は澁川さんの</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/AWS" data-gtm-click-label="entry-search-result-item-tag">AWS</a></li> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://future-architect.github.io/articles/20220202a/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://future-architect.github.io/articles/20220202a/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/5f7045529adca0b4a13d823df74293608831a7a3/height=288;version=1;width=512/https%3A%2F%2Ffuture-architect.github.io%2Fimages%2F20220202a%2Feyecatch.png" alt="Pipenv+LocalStackで作るLambda開発環境 | フューチャー技術ブログ" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://blog.kujira-station.com/201910162376"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://blog.kujira-station.com/201910162376" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.kujira-station.com%2F201910162376" alt="">pip3でpipenvをインストールしようとすると「ERROR: Could not find a version that satisfies the requirement pipenv (from versions: none)」「ERROR: No matching distribution found for pipenv」と出力される </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.kujira-station.com/201910162376" class="js-keyboard-entry-page-openable" title="pip3でpipenvをインストールしようとすると「ERROR: Could not find a version that satisfies the requirement pipenv (from versions: none)」「ERROR: No matching distribution found for pipenv」と出力される (3 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 3 users </a> </span> </li> <li> <a href="/site/blog.kujira-station.com/" title="『blog.kujira-station.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> blog.kujira-station.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/08/03</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">こんにちは、久々にpythonを触る機会があり、pipenv […]</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/pip" data-gtm-click-label="entry-search-result-item-tag">pip</a></li> <li><a href="/q/Python" data-gtm-click-label="entry-search-result-item-tag">Python</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://blog.kujira-station.com/201910162376"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://blog.kujira-station.com/201910162376" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/a8ff91ed41bb385e7c94fdc9cc4a493a910d1889/height=288;version=1;width=512/https%3A%2F%2Fi2.wp.com%2Fblog.kujira-station.com%2Fwp-content%2Fuploads%2F2018%2F04%2Fperson-3265018_1280.jpg%3Fresize%3D150%252C150%26ssl%3D1" alt="pip3でpipenvをインストールしようとすると「ERROR: Could not find a version that satisfies the requirement pipenv (from versions: none)」「ERROR: No matching distribution found for pipenv」と出力される" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://dev.classmethod.jp/articles/pipenv-install-by-direnv-layout/"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://dev.classmethod.jp/articles/pipenv-install-by-direnv-layout/" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fdev.classmethod.jp%2Farticles%2Fpipenv-install-by-direnv-layout%2F" alt="">手作業で行っていたpipenv installをdirenvのlayoutに任せてみた | DevelopersIO </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/dev.classmethod.jp/articles/pipenv-install-by-direnv-layout/" class="js-keyboard-entry-page-openable" title="手作業で行っていたpipenv installをdirenvのlayoutに任せてみた | DevelopersIO (3 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 3 users </a> </span> </li> <li> <a href="/site/dev.classmethod.jp/" title="『dev.classmethod.jp』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> dev.classmethod.jp </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2021/07/28</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">pipenv installの手続きをdirenvのlayoutに任せてみました。とてもらくちんです。 Pythonの仮想環境をセットアップする必要がでてくると、これまでは以下の手続きを取っていました。 % pipenv sync --dev % direnv edit . source .venv/bin/activate % direnv allow . .envrcは既にグローバルの .gitignore へ追加済みの上で、惰性の操作になりつつあったので余り気にしていませんでしたが、ディレクトリ内にPipenv.lockファイルが無い状態でうっかり実行するとエラーになるのが鬱陶しい。 移動したらこのあたりの操作が全部勝手に行われると楽なんだけどな、と思いながらdirenvを弄っていたところ layout コマンドの存在を知り、もしやと思いソースコードを辿ってみた結果 layout p</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> <li><a href="/q/%E7%92%B0%E5%A2%83" data-gtm-click-label="entry-search-result-item-tag">環境</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://dev.classmethod.jp/articles/pipenv-install-by-direnv-layout/"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://dev.classmethod.jp/articles/pipenv-install-by-direnv-layout/" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/47371cd63121a4cc67ed74841e706530c7e548f8/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2019%2F04%2Fpython.png" alt="手作業で行っていたpipenv installをdirenvのlayoutに任せてみた | DevelopersIO" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://qiita.com/youkidkk/items/b674e6ace96eb227cc28"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/youkidkk/items/b674e6ace96eb227cc28" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fyoukidkk%2Fitems%2Fb674e6ace96eb227cc28" alt="">Windows + Python + PipEnv + Visual Studio Code でPython開発環境 - Qiita </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/youkidkk/items/b674e6ace96eb227cc28" class="js-keyboard-entry-page-openable" title="Windows + Python + PipEnv + Visual Studio Code でPython開発環境 - Qiita (3 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 3 users </a> </span> </li> <li> <a href="/site/qiita.com/youkidkk" title="『qiita.com/youkidkk』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> qiita.com/youkidkk </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/04/25</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/techfeed" data-gtm-click-label="entry-search-result-item-tag">techfeed</a></li> <li><a href="/q/Python" data-gtm-click-label="entry-search-result-item-tag">Python</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://qiita.com/youkidkk/items/b674e6ace96eb227cc28"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://qiita.com/youkidkk/items/b674e6ace96eb227cc28" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/1aad50c5d43b5e666505e048e97a9573dea280a2/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGMTE0Mzg2JTJGcHJvZmlsZS1pbWFnZXMlMkYxNDczNzEyNTczP2l4bGliPXJiLTQuMC4wJmFyPTElM0ExJmZpdD1jcm9wJm1hc2s9ZWxsaXBzZSZmbT1wbmczMiZzPTM4ZDZmMTQ2OTE4YThjOWU1NWE0MjYzMWViMjMwNTky%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253D8c61bd071b15e8fab2e5652f6fecf6e9%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9V2luZG93cyUyMCUyQiUyMFB5dGhvbiUyMCUyQiUyMFBpcEVudiUyMCUyQiUyMFZpc3VhbCUyMFN0dWRpbyUyMENvZGUlMjAlRTMlODElQTdQeXRob24lRTklOTYlOEIlRTclOTklQkElRTclOTIlQjAlRTUlQTIlODMmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtcGFkPTAmcz04OGIwMzNkODg3Yzk1MWM2MzgwMTdmNjAyOTc2MTJhNQ%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDB5b3VraWRrayZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1wYWQ9MCZzPTAwNWQ1NmIxMDRlZWJhNzAwZmQyMmE5ZjY3ZTE0MWNm%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3D724432c024dacf02c89867363f580bd6" alt="Windows + Python + PipEnv + Visual Studio Code でPython開発環境 - Qiita" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://qiita.com/akym03/items/3576842eed0e9d28cf82"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/akym03/items/3576842eed0e9d28cf82" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fakym03%2Fitems%2F3576842eed0e9d28cf82" alt="">Windows 10 で pyenv + pipenv の環境で Pythonを使いたい - Qiita </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/akym03/items/3576842eed0e9d28cf82" class="js-keyboard-entry-page-openable" title="Windows 10 で pyenv + pipenv の環境で Pythonを使いたい - Qiita (3 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 3 users </a> </span> </li> <li> <a href="/site/qiita.com/akym03" title="『qiita.com/akym03』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> qiita.com/akym03 </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/04/18</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">ゴール pyenv でPythonのバージョン切り替えを行う pipenv でパッケージの管理を行う pyenv-win 1. pyenv-win のZIPを展開 GitHub の Installation にある ZIP を使う方法でインストールします。 masterブランチのZIPをダウンロードして、環境変数 %USERPROFILE% が指すディレクトリ(多くの場合は C:\Users\[ユーザ名] )に展開します。 展開すると下のファイルとディレクトリが展開されるので、ディレクトリ pyenv-win-master を .pyenv に変更します。 pyenv-win-master │ .gitignore │ .python-version │ .version │ LICENSE │ mirrors.txt │ README.md │ requirements.txt │ se</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> <li><a href="/q/windows" data-gtm-click-label="entry-search-result-item-tag">windows</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://qiita.com/akym03/items/3576842eed0e9d28cf82"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://qiita.com/akym03/items/3576842eed0e9d28cf82" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/6b92e1ddd350921d090fae44e971c9ef6e6ee2c2/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9V2luZG93cyUyMDEwJTIwJUUzJTgxJUE3JTIwcHllbnYlMjAlMkIlMjBwaXBlbnYlMjAlRTMlODElQUUlRTclOTIlQjAlRTUlQTIlODMlRTMlODElQTclMjBQeXRob24lRTMlODIlOTIlRTQlQkQlQkYlRTMlODElODQlRTMlODElOUYlRTMlODElODQmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPThkMTNlMzRlNTNkMThkYWY3MmJjYjJkMDg4ODRjOWVj%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBha3ltMDMmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTk1NjQ1NDhkMzE1ODRlZmRkNzJlNWMwYWU5YTQ5YWQx%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-44KG44KB44G_%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%2523212121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3D0ab114d00d74f015f9518a0b5d6d9447" alt="Windows 10 で pyenv + pipenv の環境で Pythonを使いたい - Qiita" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://qiita.com/yuri_t/items/44eabd31d453b1a14124"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/yuri_t/items/44eabd31d453b1a14124" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fyuri_t%2Fitems%2F44eabd31d453b1a14124" alt="">VSCodeでPythonのPipenvの仮想環境から抜け出せない - Qiita </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/yuri_t/items/44eabd31d453b1a14124" class="js-keyboard-entry-page-openable" title="VSCodeでPythonのPipenvの仮想環境から抜け出せない - Qiita (3 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 3 users </a> </span> </li> <li> <a href="/site/qiita.com/yuri_t" title="『qiita.com/yuri_t』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> qiita.com/yuri_t </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2023/01/28</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">結論 VSCodeでPythonを扱う際、自動的に仮想環境が適用されるので、別の環境を使用したい場合は、手動でインタープリタを選択する。 はじめに VSCode内のターミナルを使用してPythonの仮想環境であるPipenvを利用していましたが、ある時から仮想環境から抜け出せない状態になりました。 なんとか解決したので、原因と解決策をまとめます。 環境 Mac OS 12.6.2 Visual Studio Code 1.74.3 pyenv 2.3.8 pipenv 2022.11.30 Pythonはpyenvを利用してバージョン管理をしています。 Pipenvとは プロジェクトごとに仮想環境を作成、それぞれの環境でライブラリをインストールできます。複数のプロジェクトを一台のPCで同時進行する際に、お互いに環境に影響されずにすみます。 It automatically creates</p> <ul class="entrysearch-entry-tags"> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://qiita.com/yuri_t/items/44eabd31d453b1a14124"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://qiita.com/yuri_t/items/44eabd31d453b1a14124" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/9573bb2a0ed96d2d37dbed2db1f8d2ea516c19d6/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZ0eHQ9VlNDb2RlJUUzJTgxJUE3UHl0aG9uJUUzJTgxJUFFUGlwZW52JUUzJTgxJUFFJUU0JUJCJUFFJUU2JTgzJUIzJUU3JTkyJUIwJUU1JUEyJTgzJUUzJTgxJThCJUUzJTgyJTg5JUU2JThBJTlDJUUzJTgxJTkxJUU1JTg3JUJBJUUzJTgxJTlCJUUzJTgxJUFBJUUzJTgxJTg0JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1hZmM5Y2FlZWViMmQ4NmY3NzNkZmNlYzMzYzYwNmFlZQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQweXVyaV90JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1lYWRjYzEzZjZlMDgyYmVjOGI0NTJhYmM3MTY2NGEzOA%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D30dc17e9a70aba1eca021adb439dab1f" alt="VSCodeでPythonのPipenvの仮想環境から抜け出せない - Qiita" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://qiita.com/youkidkk/items/c4fd58a32bf04d9ca6d6"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/youkidkk/items/c4fd58a32bf04d9ca6d6" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fyoukidkk%2Fitems%2Fc4fd58a32bf04d9ca6d6" alt="">WSL2(Ubuntu) + Pyenv でPython開発環境(Pipenv / Poetry) - Qiita </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/youkidkk/items/c4fd58a32bf04d9ca6d6" class="js-keyboard-entry-page-openable" title="WSL2(Ubuntu) + Pyenv でPython開発環境(Pipenv / Poetry) - Qiita (3 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 3 users </a> </span> </li> <li> <a href="/site/qiita.com/youkidkk" title="『qiita.com/youkidkk』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> qiita.com/youkidkk </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2023/05/14</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/Python" data-gtm-click-label="entry-search-result-item-tag">Python</a></li> <li><a href="/q/IT" data-gtm-click-label="entry-search-result-item-tag">IT</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://qiita.com/youkidkk/items/c4fd58a32bf04d9ca6d6"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://qiita.com/youkidkk/items/c4fd58a32bf04d9ca6d6" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/ea2bf8a1127e25d66840d8f359e9aa989d46032f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGMTE0Mzg2JTJGcHJvZmlsZS1pbWFnZXMlMkYxNDczNzEyNTczP2l4bGliPXJiLTQuMC4wJmFyPTElM0ExJmZpdD1jcm9wJm1hc2s9ZWxsaXBzZSZmbT1wbmczMiZzPTM4ZDZmMTQ2OTE4YThjOWU1NWE0MjYzMWViMjMwNTky%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253D8c61bd071b15e8fab2e5652f6fecf6e9%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9V1NMMiVFRiVCQyU4OFVidW50dSVFRiVCQyU4OSUyMCUyQiUyMFB5ZW52JTIwJUUzJTgxJUE3UHl0aG9uJUU5JTk2JThCJUU3JTk5JUJBJUU3JTkyJUIwJUU1JUEyJTgzJUVGJUJDJTg4UGlwZW52JTIwJTJGJTIwUG9ldHJ5JUVGJUJDJTg5JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LXBhZD0wJnM9ODMzNjRhYTI3NDQyNWExYTc1NDI2ODFjYWRiMDk4Mzk%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDB5b3VraWRrayZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1wYWQ9MCZzPTAwNWQ1NmIxMDRlZWJhNzAwZmQyMmE5ZjY3ZTE0MWNm%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3D9615d7a78700efa8460276b4061a85dc" alt="WSL2(Ubuntu) + Pyenv でPython開発環境(Pipenv / Poetry) - Qiita" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://blog.serverworks.co.jp/uf-first-step-for-pipenv-user"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://blog.serverworks.co.jp/uf-first-step-for-pipenv-user" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.serverworks.co.jp%2Fuf-first-step-for-pipenv-user" alt="">Pipenv ユーザーのための uv 入門 - サーバーワークスエンジニアブログ </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/blog.serverworks.co.jp/uf-first-step-for-pipenv-user" class="js-keyboard-entry-page-openable" title="Pipenv ユーザーのための uv 入門 - サーバーワークスエンジニアブログ (3 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 3 users </a> </span> </li> <li> <a href="/site/blog.serverworks.co.jp/" title="『blog.serverworks.co.jp』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> blog.serverworks.co.jp </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2024/12/19</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">はじめに 対象読者 書かないこと uv とは インストール よく使うコマンドの対応 対応表 Python ランタイムの管理 Pipenv uv プロジェクトの初期化 Pipenv uv 仮想環境の有効化 Pipenv uv 依存ライブラリの追加 Pipenv uv 依存ライブラリの削除 Pipenv uv ロックファイルの内容で仮想環境を更新 Pipenv uv 仮想環境の削除 Pipenv uv 依存関係の可視化 Pipenv uv requirements.txt の生成 Pipenv uv タスクランナー Pipenv uv まとめ はじめに サーバーワークスの宮本です。急激に冷え込んで来ましたね。今年こそはエアコン以外の暖房器具を導入したいと考えているところです。 さて、今回は Python の依存管理ツールについてのお話です。個人的にはこれまで Pipenv を使用していたのです</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/python" data-gtm-click-label="entry-search-result-item-tag">python</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://blog.serverworks.co.jp/uf-first-step-for-pipenv-user"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://blog.serverworks.co.jp/uf-first-step-for-pipenv-user" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/50195263e6d8efe9d145a754f3c2f17bf9b11424/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F63979ec2870328ba9f3abe16e2d409dc72704ba7%2Fbackend%3Dimagemagick%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn.user.blog.st-hatena.com%252Fdefault_entry_og_image%252F155844699%252F1589415473304665" alt="Pipenv ユーザーのための uv 入門 - サーバーワークスエンジニアブログ" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> <li class="bookmark-item js-user-bookmark-item js-keyboard-selectable-item"> <div class="centerarticle-entry is-image-entry-unit"> <div class="js-bookmark-stock-button is-hidden"> <button class="js-bookmark-stock-button-ready readlater-button" data-gtm-click-label="entry-search-result-item-stock-button" title="あとで読む" aria-label="あとで読む" tabindex="0" type="button" data-href="https://qiita.com/youkidkk/items/23cf0f58525c57be3b16"><span>あとで読む</span> </button> </div> <div class="centerarticle-entry-header"> <h3 class="centerarticle-entry-title"> <a href="https://qiita.com/youkidkk/items/23cf0f58525c57be3b16" class="js-clickable-link js-keyboard-openable" target="_blank" rel="noopener" data-gtm-click-label="entry-search-result-item-title"> <img class="centerarticle-entry-favicon" src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fqiita.com%2Fyoukidkk%2Fitems%2F23cf0f58525c57be3b16" alt="">Windows + Python + PipEnv + Visual Studio Code でPython開発環境 - Qiita </a> </h3> <ul class="centerarticle-entry-data"> <li> <span class="centerarticle-users"> <a href="/entry/s/qiita.com/youkidkk/items/23cf0f58525c57be3b16" class="js-keyboard-entry-page-openable" title="Windows + Python + PipEnv + Visual Studio Code でPython開発環境 - Qiita (3 ブックマーク)" data-gtm-click-label="entry-search-result-item-users"> 3 users </a> </span> </li> <li> <a href="/site/qiita.com/" title="『qiita.com』の新着エントリー" data-gtm-click-label="entry-search-result-item-site-search-url"> qiita.com </a> </li> <li> <a href="/hotentry/it" data-gtm-click-label="entry-search-result-item-category">テクノロジー</a> </li> <li><span class="entry-contents-date">2020/04/25</span></li> </ul> </div> <div class="centerarticle-entry-contents has-image"> <div class="centerarticle-entry-item"> <p class="centerarticle-entry-summary">昔、以下の記事を書きましたが、アップデートで状況が変わっているようなので、 内容を更新して、再投稿します。 Windows + Python 3.6 + PipEnv + Visual Studio Code でPython開発環境 ■ 環境 Windows 10 Python version 3.8.2 PipEnv version 2018.11.26 ■ Python のインストール Python公式サイトより、ダウンロード。 ここでは python-3.8.2-amd64.exe を使用しています。 インストーラを実行し、Pythonをインストールします。 注意点は以下です。 pip のインストールを行うこと(-&gt; 2ページ目 「pip」をチェック) Python を環境変数に追加すること(-&gt; 3ページ目 「Add Python to environment variables」</p> <ul class="entrysearch-entry-tags"> <li><a href="/q/%22Visual%20Studio%20Code%22" data-gtm-click-label="entry-search-result-item-tag">Visual Studio Code</a></li> <li><a href="/q/%22Visual%20Studio%22" data-gtm-click-label="entry-search-result-item-tag">Visual Studio</a></li> <li><a href="/q/techfeed" data-gtm-click-label="entry-search-result-item-tag">techfeed</a></li> <li><a href="/q/Python" data-gtm-click-label="entry-search-result-item-tag">Python</a></li> <li><a href="/q/%E3%81%82%E3%81%A8%E3%81%A7%E8%AA%AD%E3%82%80" data-gtm-click-label="entry-search-result-item-tag">あとで読む</a></li> </ul> <div class="following-bookmarks-container js-following-bookmarks-container" data-entry-url="https://qiita.com/youkidkk/items/23cf0f58525c57be3b16"> <ul class="following-bookmarks js-following-bookmarks"></ul> <script type="text/x-template" id="template-following-bookmark"> <li> <a href="{{ anchor_path }}" class="following-bookmark-link" data-gtm-label="entry-info-followingBookmarks"> <img src="{{ profile_image_url }}" alt="{{ user_name }}" class="following-bookmark-icon"> </a> <span class="following-bookmark-popup"> <span class="following-bookmark-username">{{ user_name }}</span><span class="following-bookmark-timestamp">{{ created }}</span> <span class="following-bookmark-text"> {{ #comment }}<span class="following-bookmark-comment">{{ comment }}</span>{{ /comment }} <ul class="following-bookmark-tags">{{ #tags }}<li>{{ label }}</li>{{ /tags }}</ul> </span> </span> </li> </script> </div> </div> <div class="centerarticle-entry-image-wrapper"> <a href="https://qiita.com/youkidkk/items/23cf0f58525c57be3b16" class="centerarticle-entry-image" target="_blank" rel="noopener"> <img src="https://cdn-ak-scissors.b.st-hatena.com/image/square/68016c53ba62ec2a4a64fea25872f5fbb058d35e/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-1150d8b18a7c15795b701a55ae908f94.png%3Fixlib%3Drb-1.2.2%26w%3D1200%26mark%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D380%2526txt%253DWindows%252520%25252B%252520Python%252520%25252B%252520PipEnv%252520%25252B%252520Visual%252520Studio%252520Code%252520%2525E3%252581%2525A7Python%2525E9%252596%25258B%2525E7%252599%2525BA%2525E7%252592%2525B0%2525E5%2525A2%252583%2526txt-color%253D%252523333%2526txt-font%253DAvenir-Black%2526txt-size%253D54%2526txt-clip%253Dellipsis%2526txt-align%253Dcenter%25252Cmiddle%2526s%253D66a32f5d59b585593b5a313bc1e10c9c%26mark-align%3Dcenter%252Cmiddle%26blend%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D500%2526txt%253D%252540youkidkk%2526txt-color%253D%252523333%2526txt-font%253DAvenir-Black%2526txt-size%253D45%2526txt-align%253Dright%25252Cbottom%2526s%253Dda00a84d33e86a3cffdfb27a5ed74c19%26blend-align%3Dcenter%252Cmiddle%26blend-mode%3Dnormal%26s%3D88563217e0f200d07a058f93dfe1d01c" alt="Windows + Python + PipEnv + Visual Studio Code でPython開発環境 - Qiita" data-gtm-click-label="entry-search-result-item-image"> </a> </div> </div> </div> </li> </ul> <div class="centerarticle-pager is-single"> <span>1</span> </div> </div> <ins id="entrysearch-ad-rectangle-middle-sp" class="entrylist-ad-sp-fluid for-sp"></ins> <div id="entrysearch-ad-rectangle-bottom-sp" class="touch-ad-rectangle"></div> </div> <div class="entry-wrapper"> <section class="entry-group"> <h2 class="entry-group-sectionTitle">新着記事</h2> <ul class="entry-group-list"> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/blog.tugarujikukan.info/archives/butter-rice-crackers" title="渋川製菓「バター煎餅」と「こみせん」の清水(しつこ) - つがる時空間" data-gtm-label="entry-recentEntriesInEntrySearch-title">渋川製菓「バター煎餅」と「こみせん」の清水(しつこ) - つがる時空間</a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/blog.tugarujikukan.info/archives/butter-rice-crackers" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/blog.tugarujikukan.info/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fblog.tugarujikukan.info%2Farchives%2Fbutter-rice-crackers" alt="">blog.tugarujikukan.info</a></span></p> </div> </div> </li> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/search.app/NiHmkm7qrWoscu6V6" title="覇王に隙なし。NVIDIAが見せた最新戦略の盤石っぷりを解説" data-gtm-label="entry-recentEntriesInEntrySearch-title">覇王に隙なし。NVIDIAが見せた最新戦略の盤石っぷりを解説</a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/search.app/NiHmkm7qrWoscu6V6" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/search.app/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fsearch.app%2FNiHmkm7qrWoscu6V6" alt="">search.app</a></span></p> </div> </div> </li> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/suilive-suisojapan.com/" title="株式会社SUISO JAPAN|水素機器総合メーカー" data-gtm-label="entry-recentEntriesInEntrySearch-title">株式会社SUISO JAPAN|水素機器総合メーカー</a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/suilive-suisojapan.com/" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/suilive-suisojapan.com/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fsuilive-suisojapan.com%2F" alt="">suilive-suisojapan.com</a></span></p> </div> </div> </li> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/www.ne.jp/asahi/toranu/tanago/" title="捕らぬタナゴの川算用" data-gtm-label="entry-recentEntriesInEntrySearch-title">捕らぬタナゴの川算用</a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/www.ne.jp/asahi/toranu/tanago/" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/www.ne.jp/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fwww.ne.jp%2Fasahi%2Ftoranu%2Ftanago%2F" alt="">www.ne.jp</a></span></p> </div> </div> </li> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/plaza.rakuten.co.jp/kanade3588/diary/202504060000/" title="芸能界の影: パワハラの真実 - 不可解なるもの:楽天ブログ" data-gtm-label="entry-recentEntriesInEntrySearch-title">芸能界の影: パワハラの真実 - 不可解なるもの:楽天ブログ</a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/plaza.rakuten.co.jp/kanade3588/diary/202504060000/" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/plaza.rakuten.co.jp/kanade3588/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fplaza.rakuten.co.jp%2Fkanade3588%2Fdiary%2F202504060000%2F" alt="">plaza.rakuten.co.jp/kanade3588</a></span></p> </div> </div> </li> <li> <div class="entry-group-list-inner"> <div class="entry-group-text"> <h3 class="entry-group-title"><a href="/entry/s/b.hatena.ne.jp/entry/s/nobubububu.hatenablog.com/entry/2024/12/31/080919" title="『皆様お世話になりました🙇‍♀💦。 - Nobun’s🤔Door。』へのコメント" data-gtm-label="entry-recentEntriesInEntrySearch-title">『皆様お世話になりました🙇‍♀💦。 - Nobun’s🤔Door。』へのコメント</a></h3> <p class="entry-group-meta"><span class="entry-group-users"><a href="/entry/s/b.hatena.ne.jp/entry/s/nobubububu.hatenablog.com/entry/2024/12/31/080919" data-gtm-label="entry-recentEntriesInEntrySearch-users">1 user</a></span><span class="entry-group-domain"><a href="/site/b.hatena.ne.jp/" data-gtm-label="entry-recentEntriesInEntrySearch-domain"><img src="https://cdn-ak2.favicon.st-hatena.com/64?url=https%3A%2F%2Fb.hatena.ne.jp%2Fentry%2Fs%2Fnobubububu.hatenablog.com%2Fentry%2F2024%2F12%2F31%2F080919" alt="">b.hatena.ne.jp</a></span></p> </div> </div> </li> </ul> </section> </div> </div> <div id="keyboard-shortcut-help" class="shortcut-help is-hidden"> <h3 class="shortcut-help-title">キーボードショートカット一覧</h3> <p><span class="shortcut-help-key">j</span>次のブックマーク</p> <p><span class="shortcut-help-key">k</span>前のブックマーク</p> <p><span class="shortcut-help-key">l</span>あとで読む</p> <p><span class="shortcut-help-key">e</span>コメント一覧を開く</p> <p><span class="shortcut-help-key">o</span>ページを開く</p> <button tyle="button" class="shortcut-help-close js-close-button">✕</button> </div> <script type="text/javascript"> // ---------------- dfp section ---------------- var valve = valve || []; if (isMobile()) { valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/bookmark_overlay_sp', sizes: [[320,80],[320,70],[320,50]], slotId: 'touch-footer-ad' }); v.defineDFPSlot({ unit: '/4374287/bookmark_entrysearch_rectangle_bottom_sp', sizes: [[300,250]], slotId: 'entrysearch-ad-rectangle-bottom-sp' }); v.sealDFPSlots(); }); } else { valve.push(function(v) { v.defineDFPSlot({ unit: '/4374287/bookmark_entrysearch_sidebar_top_pc', sizes: [[300,250]], slotId: 'entrysearch-ad-sidebar-top' }); v.defineDFPSlot({ unit: '/4374287/bookmark_entrysearch_sidebar_bottom_pc', sizes: [[300,250]], slotId: 'entrysearch-ad-sidebar-bottom' }); v.sealDFPSlots(); }); } // ---------------- ydn section ---------------- if (isMobile()) { valve.push(function(v) { v.defineFluidSlot({ insId: 'entrysearch-ad-rectangle-middle-sp', yadsAdDs: '62199_242886' }); }); } </script> <script> var valve = window.valve || []; valve.push(function(v) { var pageKeyValues = {}; if (document.cookie.split(';').some(function(item) { return item.indexOf('202011_guest_status=register_incomplete') >= 0})) { pageKeyValues.bookmark_status = 'register_incomplete'; } v.config({ pageKeyValues: pageKeyValues, textSelector: ".entry-search-articles", content: { result: "ng" }, service: 'bookmark' }); }); </script> <script src="https://cdn.pool.st-hatena.com/valve/valve.js" async></script> <div class="footer"> <div class="footer-inner"> <div class="footer-inner-group footer-bookmark"> <h2 class="footer-title"><a href="/" data-gtm-label="footer-btop">はてなブックマーク</a></h2> <div class="footer-list-wrapper"> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/all" class="hotentry js-keyboard-openable" data-gtm-label="footerCategories-hotentry">総合</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/general" class="general js-keyboard-openable" data-gtm-label="footerCategories-general">一般</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/social" class="cat-social js-keyboard-openable" data-gtm-label="footerCategories-social">世の中</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/economics" class="cat-economics js-keyboard-openable" data-gtm-label="footerCategories-economics">政治と経済</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/life" class="cat-life js-keyboard-openable" data-gtm-label="footerCategories-life">暮らし</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/knowledge" class="cat-knowledge js-keyboard-openable" data-gtm-label="footerCategories-knowledge">学び</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/it" class="cat-it js-keyboard-openable" data-gtm-label="footerCategories-it">テクノロジー</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/entertainment" class="cat-entertainment js-keyboard-openable" data-gtm-label="footerCategories-entertainment">エンタメ</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/game" class="cat-game js-keyboard-openable" data-gtm-label="footerCategories-game">アニメとゲーム</a></li> <li class="footer-list-item js-keyboard-selectable-item"><a href="/hotentry/fun" class="cat-fun js-keyboard-openable" data-gtm-label="footerCategories-fun">おもしろ</a></li> </ul> <ul class="footer-list"> <li class="footer-list-item"><a href="/guide/tools">アプリ・拡張機能</a></li> <li class="footer-list-item"><a href="https://bookmark.hatenastaff.com/">開発ブログ</a></li> <li class="footer-list-item"><a href="/help/">ヘルプ</a></li> <li class="footer-list-item"><a href="https://hatena.zendesk.com/hc/ja/categories/900000153166">お問い合わせ</a></li> <li class="footer-list-item footer-list-item--sp"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--sp"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> <ul class="footer-list footer-list--pc"> <li class="footer-list-item footer-list-item--pc"><a href="/guide/guideline">ガイドライン</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/rule">利用規約</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/privacypolicy-ja">プライバシーポリシー</a></li> <li class="footer-list-item footer-list-item--pc"><a href="https://policies.hatena.ne.jp/cookie-policy">利用者情報の外部送信について</a></li> </ul> </div> </div> <div class="footer-inner-group footer-bookmark-sns"> <h2 class="footer-title">公式Twitter</h2> <div class="footer-bookmark-list"> <ul class="footer-list"> <li class="footer-list-item"><a href="https://twitter.com/HatenaBookmark" target="_blank" rel="noopener" data-gtm-click-label="footer-officialTwitter-name">公式アカウント</a></li> <li class="footer-list-item"><a href="https://twitter.com/hatebu" target="_blank" rel="noopener" data-gtm-click-label="footer-hotentryTwitter-name">ホットエントリー</a></li> </ul> </div> </div> <div class="footer-inner-group footer-hatena"> <h2 class="footer-title">はてなのサービス</h2> <ul class="footer-list"> <li class="footer-list-item"><a href="https://hatenablog.com/" data-gtm-label="footerServices-blog">はてなブログ</a></li> <li class="footer-list-item"><a href="https://hatenablog.com/guide/pro?plus_via=hatenabookmark_footer&utm_source=hatenabookmark&utm_medium=referral&utm_campaign=hatenabookmark_to_hatenablog_pro&utm_content=hatenabookmark_footer" data-gtm-label="footerServices-blog-pro">はてなブログPro</a></li> <li class="footer-list-item"><a href="https://q.hatena.ne.jp/" data-gtm-label="footerServices-question">人力検索はてな</a></li> <li class="footer-list-item"><a href="http://d.hatena.ne.jp/" data-gtm-label="footerServices-keyword">はてなブログ タグ</a></li> <li class="footer-list-item"><a href="http://hatenanews.com/" data-gtm-label="footerServices-hatenanews">はてなニュース</a></li> <li class="footer-list-item"><a href="https://soredoko.jp/" data-gtm-label="footerServices-soredoko">ソレドコ</a></li> </ul> </div> </div> <div class="footer-bottom"> <div class="footer-app"> <ul> <li class="footer-list-item"><a href="https://apps.apple.com/jp/app/hatenabukkumaku/id354976659?mt=8" target="_blank" rel="noopener" data-gtm-click-label="footer-app-ios"><img src="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/common/dl-button/appstore@2x.png" alt="App Storeからダウンロード"></a></li> <li class="footer-list-item"><a href="https://play.google.com/store/apps/details?id=com.hatena.android.bookmark&amp;referrer=utm_source%3Dbookmark_sp%26utm_campaign%3Dbookmark_sp_user&hl=ja" target="_blank" rel="noopener" data-gtm-click-label="footer-app-android"><img src="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/images/v4/public/common/dl-button/googleplay@2x.png" alt="Google Playで手に入れよう"></a></li> </ul> </div> <div class="copyright">Copyright &copy; 2005-2025 <a href="http://www.hatena.ne.jp/">Hatena</a>. All Rights Reserved.</div> </div> </div> <div id="touch-footer-ad"></div> <div id="touch-footer-ad-placeholder"></div> <div class="modal-overlay"></div> <script type="text/javascript" src="https://b.st-hatena.com/1b3c3aaeeb3650284f153f8a5a507d736736a15d/js/v4/bookmark.star.js" async></script> <div class="js-head-notify is-hidden">設定を変更しました<span class="js-head-notify-close-button">x</span></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10