搭建步驟
訪問PyCharm官網,單擊Download。
在Download頁面,選擇PyCharm Community Edition,單擊Download下載。
雙擊安裝檔案pycharm-community-2024.1.1.exe開始安裝,並根據安裝嚮導完成安裝。
重要 在安裝選項步驟,勾選‘添加“bin”檔案夾到PATH’。
開啟PyCharm,單擊New Project,建立一個新專案用於管理使用Python語言的軟體應用或工具。
在New Project視窗填寫專案資訊。
Name:專案名稱,例如pythonProject。
Location:專案檔的儲存位置,方便您管理專案檔。
說明 Create Git repository:建立Git版本控制倉庫,本樣本不勾選。
Create a welcome script:建立一個main.py檔案,本樣本不勾選。
Interpreter type:運行環境,本樣本選擇Project venv。
Project venv:專案虛擬環境,虛擬環境會將專案的依賴項和Python解譯器隔離開來,可以為每個專案建立獨立的環境,並在其中安裝專案所需的包和依賴項,適用於大多數Python專案。
Python version:選擇安裝的python解譯器版本,預設為您已安裝的python版本,如果您安裝有多個版本可以手動修改。
在 New Project 對話方塊中完成以下配置:
Name:輸入專案名稱,例如 pythonProject。
Location:選擇專案儲存路徑,例如 D:\ide\PythonProjects。
Create a welcome script:根據需要勾選。
配置完成後,單擊右下角 Create 按鈕建立專案。
Base conda:基礎conda環境,基於Conda(跨平台環境管理器)建立的基礎環境,功能更強大,適用於多語言開發的複雜環境專案,此處暫不做詳細介紹。
Custom environment:自訂環境,手動建立一個全新的Python環境,並手動安裝所需的包和依賴項。
Environment:Generate new表示產生一個新的環境;Select existing表示選擇一個存在的環境。
Type:環境的類型,選擇預設Virtualenv。
Base python:選擇python解譯器版本。
Location:python環境的儲存位置。
說明 Inherit packages from base interpreter:這個環境繼承全域基礎解譯器所安裝的第三方庫。
Make available to all projects:將這個環境安裝的第三方庫用於所有專案。
在 New Project 對話方塊左側選擇 Pure Python 項目類型,右側設定 Name(如 pythonProject)和 Location(專案儲存路徑),完成後單擊 Create。
按右鍵專案名稱,選擇New->Python File,在新快顯視窗輸入檔案名稱hello_aliyun,選擇Python file,然後按下斷行符號就建立了一個名稱為hello_aliyun.py的檔案。
在右側編輯地區輸入print("hello aliyun!"),單擊右上方運行按鈕,可以在底部Run選項卡看到運行結果hello aliyun!。
使用python和pip命令
在PyCharm視窗底部單擊Terminal選項卡或者按下Alt + F12開啟Terminal。Terminal是PyCharm內建的一個命令列工具,可以執行大部分命令,例如使用python命令可以執行python檔案,使用pip install來安裝第三方庫等等。
hello_aliyun.py 檔案內容:
print("hello aliyun!")
在 Terminal 中執行 python 命令運行指令碼,並使用 pip install 安裝第三方庫:
(.venv) PS D:\ide\PythonProjects\pythonProject> python hello_aliyun.py
hello aliyun!
(.venv) PS D:\ide\PythonProjects\pythonProject> pip install requests
Collecting requests
Obtaining dependency information for requests from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata
Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting charset-normalizer<4,>=2 (from requests)
Obtaining dependency information for charset-normalizer<4,>=2 from https://files.pythonhosted.org/packages/b6/7c/8debebb4f90174074b827c63242c23851bdf00a53249fba57fef3416e40/charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl.metadata
...ding charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl.metadata (34 kB)
Collecting idna<4,>=2.5 (from requests)
Obtaining dependency information for idna<4,>=2.5 from https://files.pythonhosted.org/packages/e5/3e/741d8c82801c347547f8a2a06a57dbb01992be9e948df2ea0eda2c8b79e8/idna-3.7-py3-none-any.whl.metadata
Downloading idna-3.7-py3-none-any.whl.metadata (9.9 kB)
後續操作
在搭建完成Python開發環境後,您可以通過以下方式迅速體驗Python的實際應用情境:利用Python進行多種開發操作。以下是一些具體的使用情境及操作指南:
1.使用阿里雲Python SDK調用阿里雲OpenAPI
在調用之前,您需要先擷取訪問憑證AccessKey,建議使用RAM使用者的AccessKey。更多資訊,請參見建立RAM使用者的AccessKey。
登入SDK Center,選擇將要使用的產品,例如您將要調用Elastic Compute Service的DescribeInstanceTypeFamilies介面為例。
在頁面中間的參數配置頁簽,並填寫需要的參數資訊。填寫時請參考右側的文檔頁簽,充分瞭解介面的說明和注意事項(尤其是費用相關資訊),以及各參數的具體含義和使用方法。如DescribeInstanceTypeFamilies介面支援傳入兩個參數,其中RegionId為必填,您可填入cn-qingdao(表示青島地區);Generation非必填,您可填入ecs-5(表示系列 V 執行個體規格類型系列),參數的詳細取值可在右側文檔中查看,請根據樣本值的格式按照您的需求進行填寫。
選擇介面後,在頁面右側的 文檔 頁簽中可查看各請求參數的欄位名稱、類型及是否必填等詳細說明。
在右側的SDK樣本頁面,選擇Python語言,單擊下載完整工程按鈕,下載SDK完整工程至本地並解壓。
在右側 SDK 樣本地區,SDK 代系選擇 V2.0 推薦,語言選擇 Python。
程式碼範例:
# -*- coding: utf-8 -*-
import os
import sys
from typing import List
from alibabacloud_ecs20140526.client import Client as Ecs20140526Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ecs20140526 import models as ecs_20140526_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient
class Sample:
def __init__(self):
pass
@staticmethod
def create_client() -> Ecs20140526Client:
"""
使用AK&SK初始化帳號Client
@return: Client
@throws Exception
"""
config = open_api_models.Config(
# os.environ表示通過環境變數擷取Access Key ID和Access Key Secret
# 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_ID。,
access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
# 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_SECRET。,
access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
config.endpoint = f'ecs.cn-qingdao.aliyuncs.com'
return Ecs20140526Client(config)
@staticmethod
async def main_async(
args: List[str],
) -> None:
client = Sample.create_client()
describe_instance_type_families_request = ecs_20140526_models.DescribeInstanceTypeFamiliesRequest(
region_id='cn-qingdao',
generation='ecs-5'
)
runtime = util_models.RuntimeOptions()
try:
# 複製代碼運行請自行列印 API 的傳回值
await client.describe_instance_type_families_with_options_async(describe_instance_type_families_request, runtime)
except Exception as error:
# 此處僅做列印展示,請謹慎對待異常處理,在工程專案中切勿直接忽略異常。
# 錯誤 message
print(error.message)
# 診斷地址
print(error.data.get("Recommend"))
UtilClient.assert_as_string(error.message)
def main(
args: List[str],
) -> None:
client = Sample.create_client()
describe_instance_type_families_request = ecs_20140526_models.DescribeInstanceTypeFamiliesRequest(
region_id='cn-qingdao',
generation='ecs-5'
)
runtime = util_models.RuntimeOptions()
try:
# 複製代碼運行請自行列印 API 的傳回值
response = client.describe_instance_type_families_with_options(describe_instance_type_families_request, runtime)
print(response)
except Exception as error:
# 此處僅做列印展示,請謹慎對待異常處理,在工程專案中切勿直接忽略異常。
# 錯誤 message
print(error.message)
# 診斷地址
print(error.data.get("Recommend"))
UtilClient.assert_as_string(error.message)
if __name__ == '__main__':
main(sys.argv[1:])
運行代碼後,返回結果中 statusCode 為 200 表示 API 呼叫成功,響應體包含 ECS 執行個體類型族列表資訊。部分響應輸出:
: '1rHpYSAeV5ewkgoDCes4x8A7'}, 'statusCode': 200, 'body': {'InstanceTypeFamilies': {'InstanceTypeFamily': [{'Generation': 'ecs-5', 'InstanceTypeFamilyId': 'ecs.g6'}, {'Generation': 'ecs-5', 'InstanceTypeFamilyId': 'ecs.ebmg
使用阿里雲Python SDK調用阿里雲OpenAPI,具體操作,請參見通過IDE使用阿里雲Python SDK。
2.調用千問API實現對話功能
阿里雲百鍊支援通過API調用大模型,涵蓋OpenAI相容介面、DashScope SDK等接入方式。調用服務前您需要開通阿里雲百鍊,擷取API KEY。具體操作,請參見帳號設定。
重要 在擷取API Key後,需將其配置到環境變數,以避免在代碼中顯式地設定API Key,從而降低泄露風險。具體操作步驟請參見配置API Key到環境變數。
通過運行以下命令安裝OpenAI Python SDK:
# 如果運行失敗,您可以將pip替換成pip3再運行
pip install -U openai
當終端出現Successfully installed ... openai-x.x.x的提示後,表示您已經成功安裝OpenAI Python SDK。
如您已完成Python及OpenAI的Python SDK安裝,可運行以下範例程式碼以調用千問API:
import os
from openai import OpenAI
try:
client = OpenAI(
# os.getenv表示通過環境變數擷取API Key,若沒有配置環境變數,請用阿里雲百鍊API Key將下行替換為:api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen-plus",
messages=[
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '你是誰?'}
]
)
print(completion.choices[0].message.content)
except Exception as e:
print(f"錯誤資訊:{e}")
輸出結果:
D:\official_site\Demo\venv\Scripts\python.exe D:\official_site\Demo\venv\ecsram\TongYi.py
我是來自阿里雲的語言模型,我叫通義千問。
調用千問API,具體操作,請參見OpenAI Python SDK。
3.調用DeepSeek API
本段主要介紹在阿里雲百鍊平台上通過API調用DeepSeek系列模型的方法。其中,deepseek-r1與deepseek-v3各提供100萬個免費Token,部分蒸餾模型可限時免費體驗。
調用服務前您需要開通阿里雲百鍊,擷取API KEY。具體操作,請參見帳號設定。
重要 在擷取API Key後,需將其配置到環境變數,以避免在代碼中顯式地設定API Key,從而降低泄露風險。具體操作步驟請參見配置API Key到環境變數。
通過運行以下命令安裝OpenAI Python SDK:
# 如果運行失敗,您可以將pip替換成pip3再運行
pip install -U openai
Downloading jiter-0.8.2-cp312-cp312-win_amd64.whl (204 kB)
204.7/204.7 kB 654.9 kB/s eta 0:00:00
Downloading pydantic-2.10.6-py3-none-any.whl (431 kB)
431.7/431.7 kB 642.5 kB/s eta 0:00:00
Downloading pydantic_core-2.27.2-cp312-cp312-win_amd64.whl (2.0 MB)
2.0/2.0 MB 715.4 kB/s eta 0:00:00
Downloading sniffio-1.3.1-py3-none-any.whl (10 kB)
Downloading tqdm-4.67.1-py3-none-any.whl (78 kB)
78.5/78.5 kB 875.6 kB/s eta 0:00:00
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
Downloading h11-0.14.0-py3-none-any.whl (58 kB)
58.3/58.3 kB 762.2 kB/s eta 0:00:00
Installing collected packages: typing-extensions, tqdm, sniffio, jiter, h11, distro, annotated-types, pydantic-core, httpcore, anyio, pydantic, httpx, openai
Successfully installed annotated-types-0.7.0 anyio-4.8.0 distro-1.9.0 h11-0.14.0 httpcore-1.0.7 httpx-0.28.1 jiter-0.8.2 openai-1.65.2 pydantic-2.10.6 pydantic-core-2.27.2 sniffio-1.3.1 tqdm-4.67.1 typing-extensions-4.12.2
當終端出現Successfully installed ... openai-x.x.x的提示後,表示您已經成功安裝OpenAI Python SDK。
如果您已完成Python及OpenAI的Python SDK的安裝,可以運行以下範例程式碼以調用DeepSeek模型服務:
import os
from openai import OpenAI
client = OpenAI(
# os.getenv表示通過環境變數擷取API Key,若沒有配置環境變數,請用阿里雲百鍊API Key將下行替換為:api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
completion = client.chat.completions.create(
model="deepseek-r1", # 此處以 deepseek-r1 為例,可按需更換模型名稱。
messages=[
{'role': 'user', 'content': '9.9和9.11誰大'}
]
)
# 通過reasoning_content欄位列印思考過程
print("思考過程:")
print(completion.choices[0].message.reasoning_content)
# 通過content欄位列印最終答案
print("最終答案:")
print(completion.choices[0].message.content)
運行上述代碼後,樣本輸出如下。
思考過程:
嗯,使用者問的是9.9和9.11哪個大。這個問題看起來簡單,但其實可能需要仔細分析,特別是考慮到數位表示方式。首先,我應該確認使用者指的是小數還是其他形式的數字,比如版本號碼或者日期。不過根據常見的數學問題,這裡應該是指小數比較。
首先,我需要明確這兩個數的結構。9.9通常被理解為9加0.9,也就是9.90。而9.11則是9加0.11。這樣比較的話,整數部分都是9,所以需要比較小數部分。9.90和0.11。顯然,0.90大於0.11,所以9.9應該比9.11大。不過,這裡可能存在一個常見的誤解,尤其是當數字被當作版本號碼時,比如軟體版本中的9.9和9.11。
不過,可能使用者有其他的考慮,比如是否把9.11誤解為9又11/100,也就是0.11,而9.9則是0.9。這時候,0.9明顯大於0.11,所以答案是9.9大。但有時候,人們可能會錯誤地認為9.11的十分位是1,而9.9的十分位是9,所以直接比較十分位的話,9.9更大。不過,正確的做法是將小數位元對齊,把9.9變為9.90和9.11比較,這樣就清楚了。
總結起來,無論是作為小數還是版本號碼,答案可能不同,但根據數學標準,作為小數的話,9.9更大。不過需要確認使用者是否考慮的是版本號碼的情況,如果是的話,答案相反。因此,可能需要進一步詢問使用者的情境,但根據一般數學問題,應回答9.9更大。
最終答案:
9.9和9.11比較時,若按**數學中的小數**理解:
- 將9.9補全為9.90,其小數部分為0.90;
- 9.11的小數部分為0.11;
- 顯然**0.90 > 0.11**,因此**9.9 > 9.11**。
若涉及**版本號碼**(如軟體版本):
- 9.11可能表示第9版的第11次更新,而9.9是第9版的第9次更新,此時**9.11 > 9.9**。
**預設按數學小數比較,結論為 9.9 更大**。
調用DeepSeek API,具體操作,請參見。