【Python】搭建pypi私倉

1. 下載依賴

pip install pypiserver # 命令安裝 pypiserver 庫
pip install passlib # passlib 包來讀取 Apache htpasswd 文件
apt-get install -y apache2-utils

2. 生成密碼

使用htpasswd庫在指定路徑/path/to/.pypipasswd生成密碼文件

htpasswd -c /path/to/.pypipasswd root
New password: [輸入密碼]
Re-type new password: [再次輸入密碼]
Adding password for user root

3. 啟動倉庫

pypi-server run -P /path/to/.pypipasswd --fallback-url https://mirrors.aliyun.com/pypi/simple/ /opt/pypi/package_directory /opt/pypi/packages -p 8989

啟動PyPI服務器,可以通過瀏覽器訪問 http://localhost:8080/ 以打開PyPI服務器的默認歡迎頁。
在這里插入圖片描述

  • -P:指定密碼文件
  • –fallback-url:本pypi-server找不到包時,到此源尋找
  • -p:啟動端口

4. 服務化

首先編寫啟動腳本run-pypi.sh

#!/bin/bash
pypi-server run -P /path/to/.pypipasswd --fallback-url https://mirrors.aliyun.com/pypi/simple/ /opt/pypi/package_directory /opt/pypi/packages -p 8989

在/etc/systemd/system路徑下新增文件 pypi-server.service3

[Unit]
Description=Pypi server
Requires=network-online.target
After=network-online.target[Service]
Type=simple
User=root
Group=root
ExecStart=/opt/pypi/run-pypi.sh[Install]
WantedBy=multi-user.target

啟動、開機自啟

systemctl start pypi-server.service
systemctl enable pypi-server.service

查看狀態

systemctl status pypi-server.service
● pypi-server.service - Pypi serverLoaded: loaded (/etc/systemd/system/pypi-server.service; enabled; vendor preset: enabled)Active: active (running) since Mon 2024-05-27 12:10:47 CST; 2min 37s agoMain PID: 2406608 (run-pypi.sh)Tasks: 7 (limit: 464205)Memory: 61.8MCGroup: /system.slice/pypi-server.service├─2406608 /bin/bash /opt/pypi/run-pypi.sh└─2406614 /usr/bin/python3 /usr/local/bin/pypi-server run -P /path/to/.pypipasswd --fallback-url https://mirrors.aliyun.com/pypi/simple/ /opt/pypi/package_directory /opt/pypi/packages -p 8989May 27 12:10:47 tool-pnb-105-112 systemd[1]: Started Pypi server.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/16797.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16797.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/16797.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【開源】租房管理系統 JAVA+Vue+SpringBoot+MySQL

目錄 一、系統介紹 租客屋主模塊 房源信息模塊 租客評價模塊 房源訂單模塊 留言板模塊 二、系統截圖 三、核心代碼 一、系統介紹 基于Vue.js和SpringBoot的租房管理系統,分為管理后臺和用戶網頁端,可以給管理員、租客和屋主角色使用&#xff0c…

大模型應用之基于Langchain的測試用例生成

一 用例生成實踐效果 在組內的日常工作安排中,持續優化測試技術、提高測試效率始終是重點任務。近期,我們在探索實踐使用大模型生成測試用例,期望能夠借助其強大的自然語言處理能力,自動化地生成更全面和高質量的測試用例。 當前…

【cocos creator】進度條控制腳本,支持節點進度條,圖片進度條,進度條組件,和進度文字展示

進度條控制腳本,支持節點進度條,圖片進度條,進度條組件,和進度文字展示 const { ccclass, property, menu } cc._decorator;let text_type cc.Enum({"20%": 0,"1/5": 1,"差值": 2,"自定義…

Django結合Manager重寫create、update、delete方法

想要重寫create、update、delete方法我們先要了解一下其他的知識點 Manager 在Django中,Manager是一個非常核心的概念,它負責與數據庫交互,提供了訪問和管理模型實例(即數據庫中的記錄)的方式。每個Django模型類默認…

jupyter lab怎么使用cmd打開

我一般都是用vscode,或者pycharm的終端打開 但是我為了秉承程序員的素養(就是覺得命令行打開很帥) 我試著去直接用一樣的命令,但是不行,顯示不是內部命令之類的。 是因為沒有配置環境變量。 但是我突然發現&#x…

【計算機畢業設計】基于SSM++jsp的汽車客運站管理系統【源碼+lw+部署文檔】

目錄 第1章 緒論 1.1 課題背景 1.2 課題意義 1.3 研究內容 第2章 開發環境與技術 2.1 MYSQL數據庫 2.2 JSP技術 2.3 SSM框架 第3章 系統分析 3.1 可行性分析 3.1.1 技術可行性 3.1.2 經濟可行性 3.1.3 操作可行性 3.2 系統流程 3.2.1 操作流程 3.2.2 登錄流程 3.2.3 刪除信息流…

rpm與yum擴展、命令

目錄 系統安裝軟件方式 1、rpm方式 命令 yum方式 安裝 更新和升級 查找與顯示 刪除程序 清除緩存 僅下載 系統安裝軟件方式 1、rpm方式 優點:無需網絡安裝軟件 缺點:無法解決軟件依賴 命令 rpm -ivh 安裝 --nodeps忽略依賴關系 --force強…

希爾伯特 包絡證明 未出現模態混合現象 是啥?

希爾伯特變換在信號處理中常用于求信號的包絡,它是一種線性運算,能夠將實數信號轉換為其解析信號,即包含原信號及其希爾伯特變換的復數信號。解析信號的實部是原信號,虛部是原信號的希爾伯特變換。 包絡證明 在信號處理中&#…

TypeScript 學習筆記(五):異步編程與錯誤處理

1. 引言 在前幾篇學習筆記中,我們介紹了 TypeScript 的基礎知識、高級類型系統、模塊與命名空間以及裝飾器和高級編程技巧。本篇將重點探討 TypeScript 中的異步編程與錯誤處理,幫助你在實際項目中更好地處理異步操作和錯誤。 2. 異步編程 異步編程是現代 JavaScript 應用…

C語言預處理中#和##運算符是什么意思?

一、問題 有?認為,在C 語?中使?“#”運算符的就是預處理,是不是呢?“##”?是什么呢? 二、解答 在程序中,最為常?的是#define 宏定義指令,下?通過這個指令理解?下“#”的作?。編寫?個預處理指令&a…

人大金倉 KingBase查詢死鎖,釋放死鎖

人大金倉(kingbase)查詢數據庫死鎖及釋放 kingbase鎖表排查以及釋放鎖 總結下 -- 查詢,可自己添加where條件 SELECT * FROM sys_stat_activity WHERE state ! idle AND wait_event_typeLock-- 結束進程 SELECT sys_terminate_backend(pid);

PLC集成BL121PO網關優化智能電網的遠程管理PLC轉OPC UA協議

隨著工業自動化技術的不斷發展,智能電網等復雜系統對于設備之間高效通信的需求日益增加。PLC轉OPC UA協議轉換網關BL121PO作為一款領先的協議轉換設備,通過其獨特的設計和功能,為用戶提供了高效、安全的PLC接入OPC UA的解決方案。 設備概述 …

了解Hive 工作原理:Hive 是如何工作的?

一、概念 1、Hive Apache Hive 是一個分布式的容錯數據倉庫系統,可實現大規模分析和便于使用 SQL 讀取、寫入和管理駐留在分布式存儲中的PB級數據。 Hive是建立在Hadoop之上的數據倉庫框架,它提供了一種類SQL的查詢語言—HiveQL,使得熟悉S…

【深度學習實戰—8】:基于MediaPipe的人臉檢測

?博客主頁:王樂予🎈 ?年輕人要:Living for the moment(活在當下)!💪 🏆推薦專欄:【圖像處理】【千錘百煉Python】【深度學習】【排序算法】 目錄 😺一、Med…

軟件3班20240527

JDK 版本與 Tomcat 的 兼容性

rk3568_spinlock

文章目錄 前言1、spinlock是什么?2、自旋鎖實驗2.1源碼2.2 結果圖總結前言 本文記錄在rk3568開發板做的自旋鎖實驗。通過自旋鎖控制state變量來限制只有一個應用程序來打開驅動設備。 1、spinlock是什么? spinlock稱為自旋鎖,如果獲取不到資源,就只能一直傻傻地等待資源被…

實現銷售與客流雙增長!看看社區零售“排隊王”如何成為頂流?

5月18日至5月26日,北京華聯BHGMall燃情推出了一年一度的2024 Need(你的)BHGDay,接棒“五一”熱潮,獻禮“520”,通過韓式俯拍機、人生四宮格拍攝大賽、真合拍星派對、超級品牌日等豐富多彩的線上線下活動&am…

Python心得(待補充)

Python編程習慣 打開jupyter notebook,用于測試一些小的代碼塊或者函數 Python學習的一些好網站 對于內容少的可以看一遍 對于內容多的,可以當工具書檢索使用 下列網站的知識涵蓋度由淺到深,可以按照(暫定)順序逐個進行檢索,即先…

dynamic與指針

C類型父類與子類的轉換--dynamic_cast - ren_zhg1992 - 博客園 (cnblogs.com) #include <iostream> using namespace std;class Base { public:Base() {};virtual void Show() { cout << "This is Base calss"; } }; class Derived :public Base { publ…

迷你手持小風扇哪個牌子質量好又實惠?這五款不踩雷推薦!

每年夏天&#xff0c;迷你手持小風扇作為消暑神器都會成為市場上的熱銷產品。然而&#xff0c;由于選購經驗有限&#xff0c;許多消費者在面對眾多品牌和型號時&#xff0c;往往難以判斷哪個牌子的迷你小風扇既質量好又價格實惠。在追求性價比的同時&#xff0c;我們也不應忽視…