全部产品
Search
文档中心

阿里云SDK:在Windows搭建Python开发环境

更新时间:Aug 26, 2026

本文以在Windows安装PyCharm为例,为您介绍Python开发环境搭建步骤。

搭建步骤

  1. 访问PyCharm官网,单击Download。

  2. 在Download页面,选择PyCharm Community Edition,单击Download下载。

  3. 双击安装文件pycharm-community-2024.1.1.exe开始安装,并根据安装向导完成安装。

    重要

    在安装选项步骤,勾选‘添加“bin”文件夹到PATH’。

  4. 打开PyCharm,单击New Project,创建一个新项目用于管理使用Python语言的软件应用或工具。

  5. 在New Project窗口填写项目信息。

    1. Name:项目名称,例如pythonProject。

    2. Location:项目文件的保存位置,方便您管理项目文件。

      说明

      Create Git repository:创建Git版本控制仓库,本示例不勾选。

      Create a welcome script:创建一个main.py文件,本示例不勾选。

    3. Interpreter type:运行环境,本示例选择Project venv。

      1. Project venv:项目虚拟环境,虚拟环境会将项目的依赖项和Python解释器隔离开来,可以为每个项目创建独立的环境,并在其中安装项目所需的包和依赖项,适用于大多数Python项目。

        Python version:选择安装的python解释器版本,默认为您已安装的python版本,如果您安装有多个版本可以手动修改。

        在 New Project 对话框中完成以下配置:

        • Name:输入项目名称,例如 pythonProject。

        • Location:选择项目存储路径,例如 D:\ide\PythonProjects。

        • Create a welcome script:根据需要勾选。

        配置完成后,单击右下角 Create 按钮创建项目。

      2. Base conda:基础conda环境,基于Conda(跨平台环境管理器)创建的基础环境,功能更强大,适用于多语言开发的复杂环境项目,此处暂不做详细介绍。

      3. 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。

  6. 右键单击项目名称,选择New->Python File,在新弹出窗口输入文件名hello_aliyun,选择Python file,然后按下回车就创建了一个名称为hello_aliyun.py的文件。

  7. 在右侧编辑区域输入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

  1. 在调用之前,您需要先获取访问凭证AccessKey,建议使用RAM用户的AccessKey。更多信息,请参见创建RAM用户的AccessKey。

    重要

    获取RAM用户的AccessKey之后,还需要在环境变量中设置AccessKey,具体操作步骤请参见在Linux、macOS和Windows系统配置环境变量

  2. 登录SDK Center,选择将要使用的产品,例如您将要调用云服务器ECS的DescribeInstanceTypeFamilies接口为例。

  3. 在页面中间的参数配置页签,并填写需要的参数信息。填写时请参考右侧的文档页签,充分了解接口的说明和注意事项(尤其是费用相关信息),以及各参数的具体含义和使用方法。如DescribeInstanceTypeFamilies接口支持传入两个参数,其中RegionId为必填,您可填入cn-qingdao(表示青岛地域);Generation非必填,您可填入ecs-5(表示系列 V 实例规格族),参数的详细取值可在右侧文档中查看,请根据示例值的格式按照您的需求进行填写。

    选择接口后,在页面右侧的 文档 页签中可查看各请求参数的字段名称、类型及是否必填等详细说明。

  4. 在右侧的SDK示例页面,选择Python语言,单击下载完整工程按钮,下载SDK完整工程至本地并解压。

    在右侧 SDK 示例区域,SDK 代系选择 V2.0 推荐,语言选择 Python。

  5. 代码示例:

    # -*- 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:])
  6. 运行代码后,返回结果中 statusCode 为 200 表示 API 调用成功,响应体包含 ECS 实例类型族列表信息。部分响应输出:

    : '1rHpYSAeV5ewkgoDCes4x8A7'}, 'statusCode': 200, 'body': {'InstanceTypeFamilies': {'InstanceTypeFamily': [{'Generation': 'ecs-5', 'InstanceTypeFamilyId': 'ecs.g6'}, {'Generation': 'ecs-5', 'InstanceTypeFamilyId': 'ecs.ebmg
  7. 使用阿里云Python SDK调用阿里云OpenAPI,具体操作,请参见通过IDE使用阿里云Python SDK。

2.调用千问API实现对话功能

  1. 阿里云百炼支持通过API调用大模型,涵盖OpenAI兼容接口、DashScope SDK等接入方式。调用服务前您需要开通阿里云百炼,获取API KEY。具体操作,请参见账号设置。

    重要

    在获取API Key后,需将其配置到环境变量,以避免在代码中显式地设置API Key,从而降低泄露风险。具体操作步骤请参见配置API Key到环境变量。

  2. 通过运行以下命令安装OpenAI Python SDK:

    # 如果运行失败,您可以将pip替换成pip3再运行
    pip install -U openai

    当终端出现Successfully installed ... openai-x.x.x的提示后,表示您已经成功安装OpenAI Python SDK。

  3. 如您已完成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}")
  4. 输出结果:

    D:\official_site\Demo\venv\Scripts\python.exe D:\official_site\Demo\venv\ecsram\TongYi.py
    我是来自阿里云的语言模型,我叫通义千问。
  5. 调用千问API,具体操作,请参见OpenAI Python SDK。

3.调用DeepSeek API

本段主要介绍在阿里云百炼平台上通过API调用DeepSeek系列模型的方法。其中,deepseek-r1与deepseek-v3各提供100万个免费Token,部分蒸馏模型可限时免费体验。

  1. 调用服务前您需要开通阿里云百炼,获取API KEY。具体操作,请参见账号设置。

    重要

    在获取API Key后,需将其配置到环境变量,以避免在代码中显式地设置API Key,从而降低泄露风险。具体操作步骤请参见配置API Key到环境变量。

  2. 通过运行以下命令安装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。

  3. 如果您已完成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)
  4. 运行上述代码后,示例输出如下。

    思考过程:
    嗯,用户问的是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 更大**。
  5. 调用DeepSeek API,具体操作,请参见。