当前宝塔面板默认的python
版本是3.6.8
,由于需要用到的python
库只支持3.8
以上,所以要安装新的python
版本
python --version
pip3 install -U openai
报错信息为
Collecting pandas>=1.2.3 (from openai)
Could not find a version that satisfies the requirement pandas>=1.2.3 (from openai) (from versions: 0.1, 0.2, 0.3.0, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.5.0, 0.6.0, 0.6.1, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.8.0, 0.8.1, 0.9.0, 0.9.1, 0.10.0, 0.10.1, 0.11.0, 0.12.0, 0.13.0, 0.13.1, 0.14.0, 0.14.1, 0.15.0, 0.15.1, 0.15.2, 0.16.0, 0.16.1, 0.16.2, 0.17.0, 0.17.1, 0.18.0, 0.18.1, 0.19.0, 0.19.1, 0.19.2, 0.20.0, 0.20.1, 0.20.2, 0.20.3, 0.21.0, 0.21.1, 0.22.0, 0.23.0, 0.23.1, 0.23.2, 0.23.3, 0.23.4, 0.24.0, 0.24.1, 0.24.2, 0.25.0, 0.25.1, 0.25.2, 0.25.3, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5)
No matching distribution found for pandas>=1.2.3 (from openai)
pandas版本需要>=1.2.3
python -m pip list
发现没有安装panda
安装panda
pip3 install --upgrade pandas
安装后的panda版本仍然小于 1.2.3,原因是宝塔默认python版本3.6.8,解决需要升级python版本
安装3.9.10
注意安装成功后输入
python --version
python版本仍为3.6.8,是因为python默认的全局变量仍为3.6.8
新安装的python目录为/www/server/pyporject_evn/versions/3.9.10/
/www/server/pyporject_evn/versions/3.9.10/bin/python3.9 --version
更改默认的全局变量可以打开配置文件/root/.bashrc在最后添加一行
export PATH="/www/server/pyporject_evn/versions/3.9.10/bin:$PATH"
再次输入
python --version
切换成功
还有可能会遇见一下问题
WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the –root-user-action option if you know what you are doing and want to suppress this warning.
忽略冲动
/www/server/pyporject_evn/versions/3.9.10/bin/pip3 install -U openai --root-user-action=ignore
为什么以’root’用户运行pip可能会导致权限损坏和与系统包管理器的冲突行为?
当以root
用户身份运行pip
时,你可能会遇到权限损坏和与系统包管理器的冲突行为。这是因为pip
默认会将Python包安装到系统级别的Python目录中。系统级别的目录通常由系统包管理器(如apt
、yum
等)管理,而pip
直接对这些目录进行操作可能会导致以下问题:
- 权限混乱:
root
用户安装的包可能会被其他非root
用户访问或修改,这可能导致权限问题。 - 版本冲突:系统包管理器安装的Python包可能与
pip
安装的包存在版本冲突,导致系统不稳定。 - 依赖问题:
pip
安装的包可能会依赖于特定版本的Python或其他库,而这些依赖可能与系统级别的库不兼容
2. 介绍什么是虚拟环境,并说明其优势
虚拟环境是Python的一个功能,它允许你在一个隔离的环境中安装和管理Python包。这意味着你可以为每个项目创建一个独立的虚拟环境,并在其中安装所需的包版本,而不会影响到系统级别的Python环境或其他项目的虚拟环境。
虚拟环境的优势包括:
- 隔离性:每个虚拟环境都是独立的,互不影响。
- 灵活性:可以为每个项目安装不同版本的Python包。
- 安全性:避免系统级别的包被意外修改或删除。
- 便携性:虚拟环境可以轻松地复制和分享给其他人。
3. 提供关于如何创建和使用虚拟环境的指南或链接
以下是创建和使用Python虚拟环境的步骤:
创建虚拟环境
- 首先,确保你已经安装了Python和
pip
。 - 使用
pip
安装venv
模块(如果尚未安装):bashpip install venv
注意:从Python 3.3开始,venv
模块已经包含在Python标准库中,因此通常不需要单独安装。 - 创建一个新的虚拟环境:
python3 -m venv myenv
其中myenv
是虚拟环境的名称,你可以根据需要更改。
激活虚拟环境
在Linux或macOS上:
source myenv/bin/activate
在Windows上:
myenv\Scripts\activate
激活后,你会在命令行提示符中看到虚拟环境的名称(例如(myenv)
)。
在虚拟环境中安装包
激活虚拟环境后,你可以使用pip
安装所需的Python包:
bashpip install package_name
这些包将仅安装在当前激活的虚拟环境中。
退出虚拟环境
要退出虚拟环境,只需在命令行中输入:
bashdeactivate
虚拟环境使用
/www/server/pyporject_evn/versions/3.9.10/bin/python3.9 --version
现在可以试着使用python调用通义万象文生图
在\www\wwwroot\python\mypy\文件夹中创造一个test.py文件,源码为
from http import HTTPStatus
from urllib.parse import urlparse, unquote
from pathlib import PurePosixPath
import requests
from dashscope import ImageSynthesis
import os
prompt = "一位年轻的中国女人,牛仔裤,米白色长袖T恤,完美无瑕,干净,黑发,身材匀称,25岁,完美的女性身体,细腰,背对着镜头,站立着,上半身俯趴在桌子上,弓起身子,撅起屁股,紧致的粗大腿,后视非常迷人,背对着,镜头距离10米 ,全身照,全身生活彩照, 真实拍摄,美颜相机,超真实相片,美美的妆造,光影感,背光,光滑的皮肤。"
print('----sync call, please wait a moment----')
rsp = ImageSynthesis.call(api_key="sk-xxxx",
model=ImageSynthesis.Models.wanx_v1,
prompt=prompt,
n=1,
style='<watercolor>',
size='1280*720')
print('response: %s' % rsp)
if rsp.status_code == HTTPStatus.OK:
# 在当前目录下保存图片
for result in rsp.output.results:
file_name = PurePosixPath(unquote(urlparse(result.url).path)).parts[-1]
with open('./%s' % file_name, 'wb+') as f:
f.write(requests.get(result.url).content)
else:
print('sync_call Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
虚拟环境运行该文件
/www/wwwroot/Python/myenv/bin/python3 mypy/test.py
可能会报错
ModuleNotFoundError: No module named ‘xxx’
该错误的主要原因在于xxx库没有被正确安装在当前的Python环境中
如: 缺少requests
安装这个 requests 库
/www/wwwroot/Python/myenv/bin/python3 -m pip install requests
如: 缺少 dashscope
安装这个 dashscope 库
/www/wwwroot/Python/myenv/bin/python3 -m pip install dashscope
最终运行结果
最终生成图片