# Web Python 包管理工具
该项目是一个简单的 **Python 包管理工具**,可以方便地搜索、安装、卸载 Python 包,支持查看当前 Python 解释器的信息,并允许用户通过多种方式安装包(包括手动输入包名、上传 `.txt` 文件、选择镜像源等)。

## 项目功能
- **包搜索**:按包名搜索,查看可用版本并添加到安装列表。
- **包安装**:通过文本框手动输入包名和版本,或上传 `.txt` 文件批量安装包。
- **包卸载**:查看已安装的包并卸载不需要的包。
- **查看 Python 解释器信息**:展示当前使用的 Python 版本和路径。
- **镜像源选择**:支持多个镜像源(如清华、阿里云等)来加速包的安装。
## 项目地址
你可以在以下地址找到项目的源代码和详细信息:
- **GitHub 项目地址**:[https://github.com/merlons/pipui.git](https://github.com/merlons/pipui.git)
## 技术栈
- **前端**:HTML5, CSS3, JavaScript(原生)
- **后端**:Python, Flask
## 环境要求
- **操作系统**:
- Windows 7 及以上
- Linux 发行版(如 Ubuntu、CentOS 等)
- **Python 版本**:
- Python 3.6 或更高版本
- 必须安装 `pip` 包管理工具
## 安装与运行
### 1. 安装 `pipui`
首先,确保已安装 Python 环境和 `pip` 包管理工具。然后在终端中运行以下命令安装 `pipui`:
```bash
pip install pipui
```
### 2. 启动项目
在命令行中运行以下命令来启动项目:
```bash
python -m pipui --host=0.0.0.0 --port=5000
```
- `--host=0.0.0.0`:让应用绑定到所有网络接口,可以在局域网内访问。
- `--port=5000`:默认使用 5000 端口,你可以根据需要修改。
启动后,打开浏览器,访问以下地址即可使用工具:
```
http://localhost:5000
```
如果想让其他设备也能访问该工具,可以使用你的局域网 IP 地址:
```
http://<your-ip>:5000
```
### 3. 命令行参数说明
| 参数 | 描述 | 默认值 |
| ----------------------- | ----------------------------------------- | ------------- |
| `-h`, `--help` | 显示帮助信息 | - |
| `--host=HOST` | 指定主机地址(默认值:`0.0.0.0`) | `0.0.0.0` |
| `--port=PORT` | 指定端口(默认值:`5000`) | `5000` |
#### 示例
1. **在默认端口启动应用**:
```bash
python -m pipui --host=0.0.0.0 --port=5000
```
2. **在自定义端口启动应用**:
```bash
python -m pipui --host=0.0.0.0 --port=8080
```
### 4. 停止项目
你可以通过在命令行窗口按 `Ctrl+C` 停止正在运行的应用。
## 文件上传说明
用户可以通过上传 `.txt` 格式的文件来批量安装 Python 包。文件内容应为每行一个包名和版本,格式如下:
```
pandas==2.0
numpy==1.24
requests==2.28.1
```
上传后,点击安装按钮即可批量安装包。
## 常见问题
### 1. 安装包失败怎么办?
- 请检查输入的包名和版本号是否正确。
- 如果使用了镜像源,尝试更换镜像源。
- 确保你的网络连接正常。
### 2. 上传文件时格式错误?
- 请确保文件是 `.txt` 格式,并且每一行的格式为 `包名==版本`。
### 3. 如何停止运行的应用?
- 你可以通过在终端按 `Ctrl+C` 停止正在运行的应用。
Raw data
{
"_id": null,
"home_page": "https://github.com/merlons/pipui.git",
"name": "pipui",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.6",
"maintainer_email": null,
"keywords": null,
"author": "merlon",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/6c/b2/013f00c9cee006a167edd01e29b3e6487ece895b14051030fdfae37b20e7/pipui-0.2.2.tar.gz",
"platform": null,
"description": "# Web Python \u5305\u7ba1\u7406\u5de5\u5177\n\n\u8be5\u9879\u76ee\u662f\u4e00\u4e2a\u7b80\u5355\u7684 **Python \u5305\u7ba1\u7406\u5de5\u5177**\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u641c\u7d22\u3001\u5b89\u88c5\u3001\u5378\u8f7d Python \u5305\uff0c\u652f\u6301\u67e5\u770b\u5f53\u524d Python \u89e3\u91ca\u5668\u7684\u4fe1\u606f\uff0c\u5e76\u5141\u8bb8\u7528\u6237\u901a\u8fc7\u591a\u79cd\u65b9\u5f0f\u5b89\u88c5\u5305\uff08\u5305\u62ec\u624b\u52a8\u8f93\u5165\u5305\u540d\u3001\u4e0a\u4f20 `.txt` \u6587\u4ef6\u3001\u9009\u62e9\u955c\u50cf\u6e90\u7b49\uff09\u3002\n\n\n\n## \u9879\u76ee\u529f\u80fd\n\n- **\u5305\u641c\u7d22**\uff1a\u6309\u5305\u540d\u641c\u7d22\uff0c\u67e5\u770b\u53ef\u7528\u7248\u672c\u5e76\u6dfb\u52a0\u5230\u5b89\u88c5\u5217\u8868\u3002\n- **\u5305\u5b89\u88c5**\uff1a\u901a\u8fc7\u6587\u672c\u6846\u624b\u52a8\u8f93\u5165\u5305\u540d\u548c\u7248\u672c\uff0c\u6216\u4e0a\u4f20 `.txt` \u6587\u4ef6\u6279\u91cf\u5b89\u88c5\u5305\u3002\n- **\u5305\u5378\u8f7d**\uff1a\u67e5\u770b\u5df2\u5b89\u88c5\u7684\u5305\u5e76\u5378\u8f7d\u4e0d\u9700\u8981\u7684\u5305\u3002\n- **\u67e5\u770b Python \u89e3\u91ca\u5668\u4fe1\u606f**\uff1a\u5c55\u793a\u5f53\u524d\u4f7f\u7528\u7684 Python \u7248\u672c\u548c\u8def\u5f84\u3002\n- **\u955c\u50cf\u6e90\u9009\u62e9**\uff1a\u652f\u6301\u591a\u4e2a\u955c\u50cf\u6e90\uff08\u5982\u6e05\u534e\u3001\u963f\u91cc\u4e91\u7b49\uff09\u6765\u52a0\u901f\u5305\u7684\u5b89\u88c5\u3002\n\n## \u9879\u76ee\u5730\u5740\n\n\u4f60\u53ef\u4ee5\u5728\u4ee5\u4e0b\u5730\u5740\u627e\u5230\u9879\u76ee\u7684\u6e90\u4ee3\u7801\u548c\u8be6\u7ec6\u4fe1\u606f\uff1a\n\n- **GitHub \u9879\u76ee\u5730\u5740**\uff1a[https://github.com/merlons/pipui.git](https://github.com/merlons/pipui.git)\n\n## \u6280\u672f\u6808\n\n- **\u524d\u7aef**\uff1aHTML5, CSS3, JavaScript\uff08\u539f\u751f\uff09\n- **\u540e\u7aef**\uff1aPython, Flask\n\n## \u73af\u5883\u8981\u6c42\n\n- **\u64cd\u4f5c\u7cfb\u7edf**\uff1a\n - Windows 7 \u53ca\u4ee5\u4e0a\n - Linux \u53d1\u884c\u7248\uff08\u5982 Ubuntu\u3001CentOS \u7b49\uff09\n\n- **Python \u7248\u672c**\uff1a\n - Python 3.6 \u6216\u66f4\u9ad8\u7248\u672c\n - \u5fc5\u987b\u5b89\u88c5 `pip` \u5305\u7ba1\u7406\u5de5\u5177\n\n## \u5b89\u88c5\u4e0e\u8fd0\u884c\n\n### 1. \u5b89\u88c5 `pipui`\n\n\u9996\u5148\uff0c\u786e\u4fdd\u5df2\u5b89\u88c5 Python \u73af\u5883\u548c `pip` \u5305\u7ba1\u7406\u5de5\u5177\u3002\u7136\u540e\u5728\u7ec8\u7aef\u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5b89\u88c5 `pipui`\uff1a\n\n```bash\npip install pipui\n```\n\n### 2. \u542f\u52a8\u9879\u76ee\n\n\u5728\u547d\u4ee4\u884c\u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u542f\u52a8\u9879\u76ee\uff1a\n\n```bash\npython -m pipui --host=0.0.0.0 --port=5000\n```\n\n- `--host=0.0.0.0`\uff1a\u8ba9\u5e94\u7528\u7ed1\u5b9a\u5230\u6240\u6709\u7f51\u7edc\u63a5\u53e3\uff0c\u53ef\u4ee5\u5728\u5c40\u57df\u7f51\u5185\u8bbf\u95ee\u3002\n- `--port=5000`\uff1a\u9ed8\u8ba4\u4f7f\u7528 5000 \u7aef\u53e3\uff0c\u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u4fee\u6539\u3002\n\n\u542f\u52a8\u540e\uff0c\u6253\u5f00\u6d4f\u89c8\u5668\uff0c\u8bbf\u95ee\u4ee5\u4e0b\u5730\u5740\u5373\u53ef\u4f7f\u7528\u5de5\u5177\uff1a\n\n```\nhttp://localhost:5000\n```\n\n\u5982\u679c\u60f3\u8ba9\u5176\u4ed6\u8bbe\u5907\u4e5f\u80fd\u8bbf\u95ee\u8be5\u5de5\u5177\uff0c\u53ef\u4ee5\u4f7f\u7528\u4f60\u7684\u5c40\u57df\u7f51 IP \u5730\u5740\uff1a\n\n```\nhttp://<your-ip>:5000\n```\n\n### 3. \u547d\u4ee4\u884c\u53c2\u6570\u8bf4\u660e\n\n| \u53c2\u6570 | \u63cf\u8ff0 | \u9ed8\u8ba4\u503c |\n| ----------------------- | ----------------------------------------- | ------------- |\n| `-h`, `--help` | \u663e\u793a\u5e2e\u52a9\u4fe1\u606f | - |\n| `--host=HOST` | \u6307\u5b9a\u4e3b\u673a\u5730\u5740\uff08\u9ed8\u8ba4\u503c\uff1a`0.0.0.0`\uff09 | `0.0.0.0` |\n| `--port=PORT` | \u6307\u5b9a\u7aef\u53e3\uff08\u9ed8\u8ba4\u503c\uff1a`5000`\uff09 | `5000` |\n\n#### \u793a\u4f8b\n\n1. **\u5728\u9ed8\u8ba4\u7aef\u53e3\u542f\u52a8\u5e94\u7528**\uff1a\n ```bash\n python -m pipui --host=0.0.0.0 --port=5000\n ```\n\n2. **\u5728\u81ea\u5b9a\u4e49\u7aef\u53e3\u542f\u52a8\u5e94\u7528**\uff1a\n ```bash\n python -m pipui --host=0.0.0.0 --port=8080\n ```\n\n### 4. \u505c\u6b62\u9879\u76ee\n\n\u4f60\u53ef\u4ee5\u901a\u8fc7\u5728\u547d\u4ee4\u884c\u7a97\u53e3\u6309 `Ctrl+C` \u505c\u6b62\u6b63\u5728\u8fd0\u884c\u7684\u5e94\u7528\u3002\n\n## \u6587\u4ef6\u4e0a\u4f20\u8bf4\u660e\n\n\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u4e0a\u4f20 `.txt` \u683c\u5f0f\u7684\u6587\u4ef6\u6765\u6279\u91cf\u5b89\u88c5 Python \u5305\u3002\u6587\u4ef6\u5185\u5bb9\u5e94\u4e3a\u6bcf\u884c\u4e00\u4e2a\u5305\u540d\u548c\u7248\u672c\uff0c\u683c\u5f0f\u5982\u4e0b\uff1a\n\n```\npandas==2.0\nnumpy==1.24\nrequests==2.28.1\n```\n\n\u4e0a\u4f20\u540e\uff0c\u70b9\u51fb\u5b89\u88c5\u6309\u94ae\u5373\u53ef\u6279\u91cf\u5b89\u88c5\u5305\u3002\n\n## \u5e38\u89c1\u95ee\u9898\n\n### 1. \u5b89\u88c5\u5305\u5931\u8d25\u600e\u4e48\u529e\uff1f\n\n- \u8bf7\u68c0\u67e5\u8f93\u5165\u7684\u5305\u540d\u548c\u7248\u672c\u53f7\u662f\u5426\u6b63\u786e\u3002\n- \u5982\u679c\u4f7f\u7528\u4e86\u955c\u50cf\u6e90\uff0c\u5c1d\u8bd5\u66f4\u6362\u955c\u50cf\u6e90\u3002\n- \u786e\u4fdd\u4f60\u7684\u7f51\u7edc\u8fde\u63a5\u6b63\u5e38\u3002\n\n### 2. \u4e0a\u4f20\u6587\u4ef6\u65f6\u683c\u5f0f\u9519\u8bef\uff1f\n\n- \u8bf7\u786e\u4fdd\u6587\u4ef6\u662f `.txt` \u683c\u5f0f\uff0c\u5e76\u4e14\u6bcf\u4e00\u884c\u7684\u683c\u5f0f\u4e3a `\u5305\u540d==\u7248\u672c`\u3002\n\n### 3. \u5982\u4f55\u505c\u6b62\u8fd0\u884c\u7684\u5e94\u7528\uff1f\n\n- \u4f60\u53ef\u4ee5\u901a\u8fc7\u5728\u7ec8\u7aef\u6309 `Ctrl+C` \u505c\u6b62\u6b63\u5728\u8fd0\u884c\u7684\u5e94\u7528\u3002\n\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "A simple Python package management tool",
"version": "0.2.2",
"project_urls": {
"Homepage": "https://github.com/merlons/pipui.git"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "aba6dc47a5a9f79d3f197ef78c7e319fbfd22e42856be28eca4403e004808950",
"md5": "89677b90ef50f5da7d5ff51fe096fb80",
"sha256": "bc957d68c08b1eaa8e833331c517ccf8fddc2df2d176e82609628afb1625649d"
},
"downloads": -1,
"filename": "pipui-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "89677b90ef50f5da7d5ff51fe096fb80",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.6",
"size": 10752,
"upload_time": "2024-11-07T03:34:47",
"upload_time_iso_8601": "2024-11-07T03:34:47.623863Z",
"url": "https://files.pythonhosted.org/packages/ab/a6/dc47a5a9f79d3f197ef78c7e319fbfd22e42856be28eca4403e004808950/pipui-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6cb2013f00c9cee006a167edd01e29b3e6487ece895b14051030fdfae37b20e7",
"md5": "a895b902903187ecb53b4d65c6149ef4",
"sha256": "955306d08185e02113af00db1b46434b14cd1f377d4e178a8440cf24a7bf0a57"
},
"downloads": -1,
"filename": "pipui-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "a895b902903187ecb53b4d65c6149ef4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.6",
"size": 12119,
"upload_time": "2024-11-07T03:34:48",
"upload_time_iso_8601": "2024-11-07T03:34:48.734899Z",
"url": "https://files.pythonhosted.org/packages/6c/b2/013f00c9cee006a167edd01e29b3e6487ece895b14051030fdfae37b20e7/pipui-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-07 03:34:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "merlons",
"github_project": "pipui",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "flask",
"specs": []
},
{
"name": "beautifulsoup4",
"specs": []
},
{
"name": "requests",
"specs": []
}
],
"lcname": "pipui"
}