Ubuntu安装python虚拟环境及pypi模块仓库搭建

1.ubuntu安装python虚拟环境

下面是在Ubuntu22.04中安装虚拟环境的方法,其他版本类似。

1.1.指派Python

1)首先需要在基础目录下把python指派到我们需要的版本上(如果系统中有多个Python版本)。

 
  

sudo rm -rf python #移除原有软链

2)指派指定的python版本

 
  

sudo ln -s python3.10 python #笔者这里是python3.10

3)查看pip是不是和python相匹配,使用 pip --version查看pip版本,如果没有则安装。

 
  

sudo apt install python3-pip

1.2.安装虚拟环境

1)安装irtualenv(注意不要用sudo)

 
  

pip3 install virtualenv

pip3如果没有安装,用以下命令安装

 
  

sudo apt-get install python3-pip

2)安装irtualenvwrapper(可以用sudo)

 
  

sudo pip3 install virtualenvwrapper

1.3.创建虚拟环境的目录

以后的创建的虚拟环境都放置在该目录下

 
  

mkdir ~/.virtualenvs

1.4.配置irtualenvs

1)配置

 
  

gedit ~/.bashrc

#打开文件后在文件的最下发增加如下代码

 
  

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh

2)刷新,使其生效

 
  

source ~/.bashrc

1.5.创建虚拟环境

 
  

mkvirtualenv 虚拟环境名称 #创建:mkvirtualenv [虚拟环境名称] #移除:rmvirtualenv [虚拟环境名称] #进入:workon [虚拟环境名称] #退出 deactivate [虚拟环境名称] 如果要使用本机环境的库可以在最后加上--system-site-packages mkvirtualenv -p /usr/bin/python 虚拟环境名称 --system-site-packages

2.pypi私有化模块仓库搭建

2.1.下载依赖

 
  

pip install pypiserver # 命令安装 pypiserver 库 pip install passlib # passlib 包来读取 Apache htpasswd 文件 apt-get install -y apache2-utils

2.2.生成密码

使用htpasswd库在指定路径/path/to/.pypipasswd生成密码文件

 
  

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

2.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:8989/ 以打开PyPI服务器的默认欢迎页。

 
  

-P:指定密码文件 –fallback-url:本pypi-server找不到包时,到此源寻找 -p:启动端口

2.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.service [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 server Loaded: 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 ago Main PID: 2406608 (run-pypi.sh) Tasks: 7 (limit: 464205) Memory: 61.8M CGroup: /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 8989 May 27 12:10:47 tool-pnb-105-112 systemd[1]: Started Pypi server.

你可能感兴趣的:(ubuntu,python,linux)