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.