Native SQL查询 (使用SQLQuery) (转http://hi.baidu.com/ufeiying/blog/item/420367237fc9dd5a9822ed8a.html)

本文详细介绍了Hibernate中使用原生SQL查询的方法,包括标量查询、实体查询、处理关联和集合类等。还讲解了如何使用命名SQL查询、处理继承、参数设置等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
查看文章
Native SQL查询 (使用SQLQuery)
2009-04-01 13:19

使用SQLQuery

对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。下面来描述如何使用这个API进行查询。

标量查询(Scalar queries)

最基本的SQL查询就是获得一个标量(数值)的列表。

sess.createSQLQuery("SELECT * FROM CATS").list();
sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE FROM CATS").list();

它们都将返回一个Object数组(Object[])组成的List,数组每个元素都是CATS表的一个字段值。Hibernate会使用ResultSetMetadata来判定返回的标量值的实际顺序和类型。

如果要避免过多的使用ResultSetMetadata,或者只是为了更加明确的指名返回值,可以使用addScalar()

sess.createSQLQuery("SELECT * FROM CATS")
 .addScalar("ID", Hibernate.LONG)
 .addScalar("NAME", Hibernate.STRING)
 .addScalar("BIRTHDATE", Hibernate.DATE)

这个查询指定了:

  • SQL查询字符串

  • 要返回的字段和类型

它仍然会返回Object数组,但是此时不再使用ResultSetMetdata,而是明确的将ID,NAME和BIRTHDATE按照Long,String和Short类型从resultset中取出。同时,也指明了就算query是使用*来查询的,可能获得超过列出的这三个字段,也仅仅会返回这三个字段。

对全部或者部分的标量值不设置类型信息也是可以的。

sess.createSQLQuery("SELECT * FROM CATS")
 .addScalar("ID", Hibernate.LONG)
 .addScalar("NAME")
 .addScalar("BIRTHDATE")

基本上这和前面一个查询相同,只是此时使用ResultSetMetaData来决定NAME和BIRTHDATE的类型,而ID的类型是明确指出的。

关于从ResultSetMetaData返回的java.sql.Types是如何映射到Hibernate类型,是由方言(Dialect)控制的。假若某个指定的类型没有被映射,或者不是你所预期的类型,你可以通过Dialet的registerHibernateType调用自行定义。

16.1.2. 实体查询(Entity queries)

上面的查询都是返回标量值的,也就是从resultset中返回的“裸”数据。下面展示如何通过addEntity()让原生查询返回实体对象。

sess.createSQLQuery("SELECT * FROM CATS").addEntity(Cat.class);
sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE FROM CATS").addEntity(Cat.class);

这个查询指定:

  • SQL查询字符串

  • 要返回的实体

假设Cat被映射为拥有ID,NAME和BIRTHDATE三个字段的类,以上的两个查询都返回一个List,每个元素都是一个Cat实体。

假若实体在映射时有一个many-to-one的关联指向另外一个实体,在查询时必须也返回那个实体,否则会导致发生一个"column not found"的数据库错误。这些附加的字段可以使用*标注来自动返回,但我们希望还是明确指明,看下面这个具有指向Dogmany-to-one的例子:

sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE, DOG_ID FROM CATS").addEntity(Cat.class);

这样cat.getDog()就能正常运作。

16.1.3. 处理关联和集合类(Handling associations and collections)

通过提前抓取将Dog连接获得,而避免初始化proxy带来的额外开销也是可能的。这是通过addJoin()方法进行的,这个方法可以让你将关联或集合连接进来。

sess.createSQLQuery("SELECT c.ID, NAME, BIRTHDATE, DOG_ID, D_ID, D_NAME FROM CATS c, DOGS d WHERE c.DOG_ID = d.D_ID")
 .addEntity("cat", Cat.class)
 .addJoin("cat.dog");

上面这个例子中,返回的Cat对象,其dog属性被完全初始化了,不再需要数据库的额外操作。注意,我们加了一个别名("cat"),以便指明join的目标属性路径。通过同样的提前连接也可以作用于集合类,例如,假若Cat有一个指向Dog的一对多关联。

sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE, D_ID, D_NAME, CAT_ID FROM CATS c, DOGS d WHERE c.ID = d.CAT_ID")
 .addEntity("cat", Cat.class)
 .addJoin("cat.dogs");
<p> 到此为止,我们碰到了天花板:若不对SQL查询进行增强,这些已经是在Hibernate中使用原生SQL查询所能做到的最大可能了。下面的问题即将出现:返回多个同样类型的实体怎么办?或者默认的别名/字段不够又怎么办? </p>

16.1.4. 返回多个实体(Returning multiple entities)

到目前为止,结果集字段名被假定为和映射文件中指定的的字段名是一致的。假若SQL查询连接了多个表,同一个字段名可能在多个表中出现多次,这就会造成问题。

下面的查询中需要使用字段别名注射(这个例子本身会失败):

sess.createSQLQuery("SELECT c.*, m.*  FROM CATS c, CATS m WHERE c.MOTHER_ID = c.ID")
 .addEntity("cat", Cat.class)
 .addEntity("mother", Cat.class)

这个查询的本意是希望每行返回两个Cat实例,一个是cat,另一个是它的妈妈。但是因为它们的字段名被映射为相同的,而且在某些数据库中,返回的字段别名是“c.ID”,"c.NAME"这样的形式,而它们和在映射文件中的名字("ID"和"NAME")不匹配,这就会造成失败。

下面的形式可以解决字段名重复:

sess.createSQLQuery("SELECT {cat.*}, {mother.*}  FROM CATS c, CATS m WHERE c.MOTHER_ID = c.ID")
 .addEntity("cat", Cat.class)
 .addEntity("mother", Cat.class)

这个查询指明:

  • SQL查询语句,其中包含占位附来让Hibernate注射字段别名

  • 查询返回的实体

上面使用的{cat.*}和{mother.*}标记是作为“所有属性”的简写形式出现的。当然你也可以明确地罗列出字段名,但在这个例子里面我们让Hibernate来为每个属性注射SQL字段别名。字段别名的占位符是属性名加上表别名的前缀。在下面的例子中,我们从另外一个表(cat_log)中通过映射元数据中的指定获取Cat和它的妈妈。注意,要是我们愿意,我们甚至可以在where子句中使用属性别名。

String sql = "SELECT ID as {c.id}, NAME as {c.name}, " + 
         "BIRTHDATE as {c.birthDate}, MOTHER_ID as {c.mother}, {mother.*} " +
         "FROM CAT_LOG c, CAT_LOG m WHERE {c.mother} = c.ID";

List loggedCats = sess.createSQLQuery(sql)
        .addEntity("cat", Cat.class)
        .addEntity("mother", Cat.class).list()
16.1.4.1. 别名和属性引用(Alias and property references)

大多数情况下,都需要上面的属性注射,但在使用更加复杂的映射,比如复合属性、通过标识符构造继承树,以及集合类等等情况下,也有一些特别的别名,来允许Hibernate注射合适的别名。

下表列出了使用别名注射参数的不同可能性。注意:下面结果中的别名只是示例,实用时每个别名需要唯一并且不同的名字。

表 16.1. 别名注射(alias injection names)

描述语法示例
简单属性{[aliasname].[propertyname]A_NAME as {item.name}
复合属性{[aliasname].[componentname].[propertyname]}CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}
实体辨别器(Discriminator of an entity){[aliasname].class}DISC as {item.class}
实体的所有属性{[aliasname].*}{item.*}
集合键(collection key){[aliasname].key}ORGID as {coll.key}
集合id{[aliasname].id}EMPID as {coll.id}
集合元素{[aliasname].element}XID as {coll.element} 
集合元素的属性{[aliasname].element.[propertyname]}NAME as {coll.element.name} 
集合元素的所有属性{[aliasname].element.*}{coll.element.*} 
集合的所有属性{[aliasname].*}{coll.*} 

16.1.5. 返回非受管实体(Returning non-managed entities)

可以对原生sql 查询使用ResultTransformer。这会返回不受Hibernate管理的实体。

sess.createSQLQuery("SELECT NAME, BIRTHDATE FROM CATS")
        .setResultTransformer(Transformers.aliasToBean(CatDTO.class))

这个查询指定:

  • SQL查询字符串

  • 结果转换器(result transformer)

上面的查询将会返回CatDTO的列表,它将被实例化并且将NAME和BIRTHDAY的值注射入对应的属性或者字段。

16.1.6. 处理继承(Handling inheritance)

原生SQL查询假若其查询结果实体是继承树中的一部分,它必须包含基类和所有子类的所有属性。

16.1.7. 参数(Parameters)

原生查询支持位置参数和命名参数:

Query query = sess.createSQLQuery("SELECT * FROM CATS WHERE NAME like ?").addEntity(Cat.class);
List pusList = query.setString(0, "Pus%").list();
     
query = sess.createSQLQuery("SELECT * FROM CATS WHERE NAME like :name").addEntity(Cat.class);
List pusList = query.setString("name", "Pus%").list();

16.2. 命名SQL查询

可以在映射文档中定义查询的名字,然后就可以象调用一个命名的HQL查询一样直接调用命名SQL查询.在这种情况下,我们 需要调用addEntity()方法.

<sql-query name="persons">
    <return alias="person" class="eg.Person"/>
    SELECT person.NAME AS {person.name},
           person.AGE AS {person.age},
           person.SEX AS {person.sex}
    FROM PERSON person
    WHERE person.NAME LIKE :namePattern
</sql-query>
List people = sess.getNamedQuery("persons")
    .setString("namePattern", namePattern)
    .setMaxResults(50)
    .list();

<return-join><load-collection> 元素是用来连接关联以及将查询定义为预先初始化各个集合的。

<sql-query name="personsWith">
    <return alias="person" class="eg.Person"/>
    <return-join alias="address" property="person.mailingAddress"/>
    SELECT person.NAME AS {person.name},
           person.AGE AS {person.age},
           person.SEX AS {person.sex},
           adddress.STREET AS {address.street},
           adddress.CITY AS {address.city},
           adddress.STATE AS {address.state},
           adddress.ZIP AS {address.zip}
    FROM PERSON person
    JOIN ADDRESS adddress
        ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'
    WHERE person.NAME LIKE :namePattern
</sql-query>

一个命名查询可能会返回一个标量值.你必须使用<return-scalar>元素来指定字段的别名和 Hibernate类型

<sql-query name="mySqlQuery">
    <return-scalar column="name" type="string"/>
    <return-scalar column="age" type="long"/>
    SELECT p.NAME AS name,
           p.AGE AS age,
    FROM PERSON p WHERE p.NAME LIKE 'Hiber%'
</sql-query>

你可以把结果集映射的信息放在外部的<resultset>元素中,这样就可以在多个命名查询间,或者通过setResultSetMapping()API来访问。(此处原文即存疑。原文为:You can externalize the resultset mapping informations in a <resultset> element to either reuse them accross several named queries or through the setResultSetMapping() API.)

<resultset name="personAddress">
    <return alias="person" class="eg.Person"/>
    <return-join alias="address" property="person.mailingAddress"/>
</resultset>

<sql-query name="personsWith" resultset-ref="personAddress">
    SELECT person.NAME AS {person.name},
           person.AGE AS {person.age},
           person.SEX AS {person.sex},
           adddress.STREET AS {address.street},
           adddress.CITY AS {address.city},
           adddress.STATE AS {address.state},
           adddress.ZIP AS {address.zip}
    FROM PERSON person
    JOIN ADDRESS adddress
        ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'
    WHERE person.NAME LIKE :namePattern
</sql-query>

另外,你可以在java代码中直接使用hbm文件中的结果集定义信息。

List cats = sess.createSQLQuery(
        "select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id"
    )
    .setResultSetMapping("catAndKitten")
    .list();

16.2.1. 使用return-property来明确地指定字段/别名

使用<return-property>你可以明确的告诉Hibernate使用哪些字段别名,这取代了使用{}-语法 来让Hibernate注入它自己的别名.

<sql-query name="mySqlQuery">
    <return alias="person" class="eg.Person">
      <return-property name="name" column="myName"/>
      <return-property name="age" column="myAge"/>
      <return-property name="sex" column="mySex"/>
    </return>
    SELECT person.NAME AS myName,
           person.AGE AS myAge,
           person.SEX AS mySex,
    FROM PERSON person WHERE person.NAME LIKE :name
</sql-query>
<return-property>也可用于多个字段,它解决了使用{}-语法不能细粒度控制多个字段的限制
<sql-query name="organizationCurrentEmployments">
            <return alias="emp" class="Employment">            
             <return-property name="salary"> 
               <return-column name="VALUE"/>
               <return-column name="CURRENCY"/>            
             </return-property>
             <return-property name="endDate" column="myEndDate"/>
            </return>
            SELECT EMPLOYEE AS {emp.employee}, EMPLOYER AS {emp.employer}, 
            STARTDATE AS {emp.startDate}, ENDDATE AS {emp.endDate},
            REGIONCODE as {emp.regionCode}, EID AS {emp.id}, VALUE, CURRENCY
            FROM EMPLOYMENT
            WHERE EMPLOYER = :id AND ENDDATE IS NULL
            ORDER BY STARTDATE ASC
</sql-query>

注意在这个例子中,我们使用了<return-property>结合{}的注入语法. 允许用户来选择如何引用字段以及属性.

如果你映射一个识别器(discriminator),你必须使用<return-discriminator> 来指定识别器字段

16.2.2. 使用存储过程来查询

Hibernate 3引入了对存储过程查询(stored procedure)和函数(function)的支持.以下的说明中,这二者一般都适用。 存储过程/函数必须返回一个结果集,作为Hibernate能够使用的第一个外部参数. 下面是一个Oracle9和更高版本的存储过程例子.

CREATE OR REPLACE FUNCTION selectAllEmployments 
    RETURN SYS_REFCURSOR 
AS 
    st_cursor SYS_REFCURSOR; 
BEGIN 
    OPEN st_cursor FOR 
 SELECT EMPLOYEE, EMPLOYER, 
 STARTDATE, ENDDATE, 
 REGIONCODE, EID, VALUE, CURRENCY 
 FROM EMPLOYMENT; 
      RETURN  st_cursor; 
 END;

在Hibernate里要要使用这个查询,你需要通过命名查询来映射它.

<sql-query name="selectAllEmployees_SP" callable="true">
    <return alias="emp" class="Employment">
        <return-property name="employee" column="EMPLOYEE"/>
        <return-property name="employer" column="EMPLOYER"/>            
        <return-property name="startDate" column="STARTDATE"/>
        <return-property name="endDate" column="ENDDATE"/>            
        <return-property name="regionCode" column="REGIONCODE"/>            
        <return-property name="id" column="EID"/>                        
        <return-property name="salary"> 
            <return-column name="VALUE"/>
            <return-column name="CURRENCY"/>            
        </return-property>
    </return>
    { ? = call selectAllEmployments() }
</sql-query>

注意存储过程当前仅仅返回标量和实体.现在不支持<return-join><load-collection>

16.2.2.1. 使用存储过程的规则和限制

为了在Hibernate中使用存储过程,你必须遵循一些规则.不遵循这些规则的存储过程将不可用.如果你仍然想要使用他们, 你必须通过session.connection()来执行他们.这些规则针对于不同的数据库.因为数据库 提供商有各种不同的存储过程语法和语义.

对存储过程进行的查询无法使用setFirstResult()/setMaxResults()进行分页。

建议采用的调用方式是标准SQL92: { ? = call functionName(<parameters>) } 或者 { ? = call procedureName(<parameters>}.原生调用语法不被支持。

对于Oracle有如下规则:

  • 函数必须返回一个结果集。存储过程的第一个参数必须是OUT,它返回一个结果集。这是通过Oracle 9或10的SYS_REFCURSOR类型来完成的。在Oracle中你需要定义一个REF CURSOR类型,参见Oracle的手册。

对于Sybase或者MS SQL server有如下规则:

  • 存储过程必须返回一个结果集。.注意这些servers可能返回多个结果集以及更新的数目.Hibernate将取出第一条结果集作为它的返回值, 其他将被丢弃。

  • 如果你能够在存储过程里设定SET NOCOUNT ON,这可能会效率更高,但这不是必需的。

16.3. 定制SQL用来create,update和delete

Hibernate3能够使用定制的SQL语句来执行create,update和delete操作。在Hibernate中,持久化的类和集合已经 包含了一套配置期产生的语句(insertsql, deletesql, updatesql等等),这些映射标记 <sql-insert>, <sql-delete>, and <sql-update>重载了 这些语句。

<class name="Person">
    <id name="id">
        <generator class="increment"/>
    </id>
    <property name="name" not-null="true"/>
    <sql-insert>INSERT INTO PERSON (NAME, ID) VALUES ( UPPER(?), ? )</sql-insert>
    <sql-update>UPDATE PERSON SET NAME=UPPER(?) WHERE ID=?</sql-update>
    <sql-delete>DELETE FROM PERSON WHERE ID=?</sql-delete>
</class>

这些SQL直接在你的数据库里执行,所以你可以自由的使用你喜欢的任意语法。但如果你使用数据库特定的语法, 这当然会降低你映射的可移植性。

如果设定callable,则能够支持存储过程了。

<class name="Person">
    <id name="id">
        <generator class="increment"/>
    </id>
    <property name="name" not-null="true"/>
    <sql-insert callable="true">{call createPerson (?, ?)}</sql-insert>
    <sql-delete callable="true">{? = call deletePerson (?)}</sql-delete>
    <sql-update callable="true">{? = call updatePerson (?, ?)}</sql-update>
</class>

参数的位置顺序是非常重要的,他们必须和Hibernate所期待的顺序相同。

你能够通过设定日志调试级别为org.hiberante.persister.entity,来查看Hibernate所期待的顺序。在这个级别下, Hibernate将会打印出create,update和delete实体的静态SQL。(如果想看到预计的顺序。记得不要将定制SQL包含在映射文件里, 因为他们会重载Hibernate生成的静态SQL。)

在大多数情况下(最好这么做),存储过程需要返回插入/更新/删除的行数,因为Hibernate对语句的成功执行有些运行时的检查。 Hibernate常会把进行CUD操作的语句的第一个参数注册为一个数值型输出参数。

CREATE OR REPLACE FUNCTION updatePerson (uid IN NUMBER, uname IN VARCHAR2)
    RETURN NUMBER IS
BEGIN

    update PERSON
    set
        NAME = uname,
    where
        ID = uid;

    return SQL%ROWCOUNT;

END updatePerson;

16.4. 定制装载SQL

你可能需要声明你自己的SQL(或HQL)来装载实体

<sql-query name="person">
    <return alias="pers" class="Person" lock-mode="upgrade"/>
    SELECT NAME AS {pers.name}, ID AS {pers.id}
    FROM PERSON
    WHERE ID=?
    FOR UPDATE
</sql-query>

这只是一个前面讨论过的命名查询声明,你可以在类映射里引用这个命名查询。

<class name="Person">
    <id name="id">
        <generator class="increment"/>
    </id>
    <property name="name" not-null="true"/>
    <loader query-ref="person"/>
</class>

这也可以用于存储过程

你甚至可以定一个用于集合装载的查询:

<set name="employments" inverse="true">
    <key/>
    <one-to-many class="Employment"/>
    <loader query-ref="employments"/>
</set>
<sql-query name="employments">
    <load-collection alias="emp" role="Person.employments"/>
    SELECT {emp.*}
    FROM EMPLOYMENT emp
    WHERE EMPLOYER = :id
    ORDER BY STARTDATE ASC, EMPLOYEE ASC
</sql-query>

你甚至还可以定义一个实体装载器,它通过连接抓取装载一个集合:

<sql-query name="person">
    <return alias="pers" class="Person"/>
    <return-join alias="emp" property="pers.employments"/>
    SELECT NAME AS {pers.*}, {emp.*}
    FROM PERSON pers
    LEFT OUTER JOIN EMPLOYMENT emp
        ON pers.ID = emp.PERSON_ID
    WHERE ID=?
</sql-query>
C:\Users\86180>pip install notebook -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn Defaulting to user installation because normal site-packages is not writeable Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting notebook Downloading https://pypi.tuna.tsinghua.edu.cn/packages/1e/16/d3c36a0b1f6dfcf218add8eaf803bf0473ff50681ac4d51acb7ba02bce34/notebook-7.4.2-py3-none-any.whl (14.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.3/14.3 MB 4.1 MB/s eta 0:00:00 Collecting jupyter-server<3,>=2.4.0 (from notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e2/a2/89eeaf0bb954a123a909859fa507fa86f96eb61b62dc30667b60dbd5fdaf/jupyter_server-2.15.0-py3-none-any.whl (385 kB) Collecting jupyterlab-server<3,>=2.27.1 (from notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl (59 kB) Collecting jupyterlab<4.5,>=4.4.0 (from notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f6/ae/fbb93f4990b7648849b19112d8b3e7427bbfc9c5cc8fdc6bf14c0e86d104/jupyterlab-4.4.2-py3-none-any.whl (12.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.3/12.3 MB 4.9 MB/s eta 0:00:00 Collecting notebook-shim<0.3,>=0.2 (from notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl (13 kB) Collecting tornado>=6.2.0 (from notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl (438 kB) Collecting anyio>=3.1.0 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl (100 kB) Collecting argon2-cffi>=21.1 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a4/6a/e8a041599e78b6b3752da48000b14c8d1e8a04ded09c88c714ba047f34f5/argon2_cffi-23.1.0-py3-none-any.whl (15 kB) Collecting jinja2>=3.0.3 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl (134 kB) Collecting jupyter-client>=7.4.4 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl (106 kB) Collecting jupyter-core!=5.0.*,>=4.12 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c9/fb/108ecd1fe961941959ad0ee4e12ee7b8b1477247f30b1fdfd83ceaf017f0/jupyter_core-5.7.2-py3-none-any.whl (28 kB) Collecting jupyter-events>=0.11.0 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl (19 kB) Collecting jupyter-server-terminals>=0.4.4 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl (13 kB) Collecting nbconvert>=6.4.4 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl (258 kB) Collecting nbformat>=5.3.0 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl (78 kB) Collecting overrides>=5.0 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl (17 kB) Collecting packaging>=22.0 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl (66 kB) Collecting prometheus-client>=0.9 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ff/c2/ab7d37426c179ceb9aeb109a85cda8948bb269b7561a0be870cc656eefe4/prometheus_client-0.21.1-py3-none-any.whl (54 kB) Collecting pywinpty>=2.0.1 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fb/16/2ab7b3b7f55f3c6929e5f629e1a68362981e4e5fed592a2ed1cb4b4914a5/pywinpty-2.0.15-cp313-cp313-win_amd64.whl (1.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 2.6 MB/s eta 0:00:00 Collecting pyzmq>=24 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c6/6c/f289c1789d7bb6e5a3b3bef7b2a55089b8561d17132be7d960d3ff33b14e/pyzmq-26.4.0-cp313-cp313-win_amd64.whl (640 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 640.4/640.4 kB 3.9 MB/s eta 0:00:00 Collecting send2trash>=1.8.2 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl (18 kB) Collecting terminado>=0.8.3 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl (14 kB) Collecting traitlets>=5.6.0 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl (85 kB) Collecting websocket-client>=1.7 (from jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl (58 kB) Collecting async-lru>=1.0.0 (from jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/03/49/d10027df9fce941cb8184e78a02857af36360d33e1721df81c5ed2179a1a/async_lru-2.0.5-py3-none-any.whl (6.1 kB) Collecting httpx>=0.25.0 (from jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl (73 kB) Collecting ipykernel>=6.5.0 (from jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl (117 kB) Collecting jupyter-lsp>=2.0.0 (from jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl (69 kB) Collecting setuptools>=41.1.0 (from jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b1/93/dba5ed08c2e31ec7cdc2ce75705a484ef0be1a2fecac8a58272489349de8/setuptools-80.4.0-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 5.5 MB/s eta 0:00:00 Collecting babel>=2.10 (from jupyterlab-server<3,>=2.27.1->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl (10.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 6.7 MB/s eta 0:00:00 Collecting json5>=0.9.0 (from jupyterlab-server<3,>=2.27.1->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/41/9f/3500910d5a98549e3098807493851eeef2b89cdd3032227558a104dfe926/json5-0.12.0-py3-none-any.whl (36 kB) Collecting jsonschema>=4.18.0 (from jupyterlab-server<3,>=2.27.1->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl (88 kB) Collecting requests>=2.31 (from jupyterlab-server<3,>=2.27.1->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl (64 kB) Collecting idna>=2.8 (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl (70 kB) Collecting sniffio>=1.1 (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl (10 kB) Collecting argon2-cffi-bindings (from argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/37/2c/e34e47c7dee97ba6f01a6203e0383e15b60fb85d78ac9a15cd066f6fe28b/argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl (30 kB) Collecting certifi (from httpx>=0.25.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl (159 kB) Collecting httpcore==1.* (from httpx>=0.25.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl (78 kB) Collecting h11>=0.16 (from httpcore==1.*->httpx>=0.25.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl (37 kB) Collecting comm>=0.1.1 (from ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl (7.2 kB) Collecting debugpy>=1.6.5 (from ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e0/62/a7b4a57013eac4ccaef6977966e6bec5c63906dd25a86e35f155952e29a1/debugpy-1.8.14-cp313-cp313-win_amd64.whl (5.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.3/5.3 MB 7.2 MB/s eta 0:00:00 Collecting ipython>=7.23.1 (from ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/78/ce/5e897ee51b7d26ab4e47e5105e7368d40ce6cfae2367acdf3165396d50be/ipython-9.2.0-py3-none-any.whl (604 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 604.3/604.3 kB 8.4 MB/s eta 0:00:00 Collecting matplotlib-inline>=0.1 (from ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl (9.9 kB) Collecting nest-asyncio (from ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl (5.2 kB) Collecting psutil (from ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl (244 kB) Collecting MarkupSafe>=2.0 (from jinja2>=3.0.3->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl (15 kB) Collecting attrs>=22.2.0 (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.27.1->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl (63 kB) Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.27.1->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl (18 kB) Collecting referencing>=0.28.4 (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.27.1->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl (26 kB) Collecting rpds-py>=0.7.1 (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.27.1->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f9/12/09e048d1814195e01f354155fb772fb0854bd3450b5f5a82224b3a319f0e/rpds_py-0.24.0-cp313-cp313-win_amd64.whl (239 kB) Collecting python-dateutil>=2.8.2 (from jupyter-client>=7.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) Collecting platformdirs>=2.5 (from jupyter-core!=5.0.*,>=4.12->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl (18 kB) Collecting pywin32>=300 (from jupyter-core!=5.0.*,>=4.12->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl (9.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.5/9.5 MB 5.3 MB/s eta 0:00:00 Collecting python-json-logger>=2.0.4 (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/08/20/0f2523b9e50a8052bc6a8b732dfc8568abbdc42010aef03a2d750bdab3b2/python_json_logger-3.3.0-py3-none-any.whl (15 kB) Collecting pyyaml>=5.3 (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl (156 kB) Collecting rfc3339-validator (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl (3.5 kB) Collecting rfc3986-validator>=0.1.1 (from jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl (4.2 kB) Collecting beautifulsoup4 (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl (187 kB) Collecting bleach!=5.0.0 (from bleach[css]!=5.0.0->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl (163 kB) Collecting defusedxml (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl (25 kB) Collecting jupyterlab-pygments (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl (15 kB) Collecting mistune<4,>=2.0.3 (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/01/4d/23c4e4f09da849e127e9f123241946c23c1e30f45a88366879e064211815/mistune-3.1.3-py3-none-any.whl (53 kB) Collecting nbclient>=0.5.0 (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl (25 kB) Collecting pandocfilters>=1.4.1 (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl (8.7 kB) Collecting pygments>=2.4.1 (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 2.8 MB/s eta 0:00:00 Collecting fastjsonschema>=2.15 (from nbformat>=5.3.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl (23 kB) Collecting charset-normalizer<4,>=2 (from requests>=2.31->jupyterlab-server<3,>=2.27.1->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl (105 kB) Collecting urllib3<3,>=1.21.1 (from requests>=2.31->jupyterlab-server<3,>=2.27.1->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl (128 kB) Collecting webencodings (from bleach!=5.0.0->bleach[css]!=5.0.0->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl (11 kB) Collecting tinycss2<1.5,>=1.1.0 (from bleach[css]!=5.0.0->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl (26 kB) Collecting colorama (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl (25 kB) Collecting decorator (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl (9.2 kB) Collecting ipython-pygments-lexers (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl (8.1 kB) Collecting jedi>=0.16 (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl (1.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 7.9 MB/s eta 0:00:00 Collecting prompt_toolkit<3.1.0,>=3.0.41 (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ce/4f/5249960887b1fbe561d9ff265496d170b55a735b76724f10ef19f9e40716/prompt_toolkit-3.0.51-py3-none-any.whl (387 kB) Collecting stack_data (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl (24 kB) Collecting fqdn (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl (9.1 kB) Collecting isoduration (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl (11 kB) Collecting jsonpointer>1.13 (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl (7.6 kB) Collecting uri-template (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl (11 kB) Collecting webcolors>=24.6.0 (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl (14 kB) Collecting six>=1.5 (from python-dateutil>=2.8.2->jupyter-client>=7.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl (11 kB) Collecting cffi>=1.0.1 (from argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl (182 kB) Collecting soupsieve>1.2 (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl (36 kB) Requirement already satisfied: typing-extensions>=4.0.0 in c:\users\86180\appdata\roaming\python\python313\site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook) (4.13.2) Collecting pycparser (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl (117 kB) Collecting parso<0.9.0,>=0.8.4 (from jedi>=0.16->ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl (103 kB) Collecting wcwidth (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl (34 kB) Collecting arrow>=0.15.0 (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f8/ed/e97229a566617f2ae958a6b13e7cc0f585470eac730a73e9e82c32a3cdd2/arrow-1.3.0-py3-none-any.whl (66 kB) Collecting executing>=1.2.0 (from stack_data->ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl (26 kB) Collecting asttokens>=2.1.0 (from stack_data->ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl (26 kB) Collecting pure-eval (from stack_data->ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab<4.5,>=4.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl (11 kB) Collecting types-python-dateutil>=2.8.10 (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.11.0->jupyter-server<3,>=2.4.0->notebook) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/0f/b3/ca41df24db5eb99b00d97f89d7674a90cb6b3134c52fb8121b6d8d30f15c/types_python_dateutil-2.9.0.20241206-py3-none-any.whl (14 kB) Installing collected packages: webencodings, wcwidth, pywin32, pure-eval, fastjsonschema, websocket-client, webcolors, urllib3, uri-template, types-python-dateutil, traitlets, tornado, tinycss2, soupsieve, sniffio, six, setuptools, send2trash, rpds-py, rfc3986-validator, pyzmq, pyyaml, pywinpty, python-json-logger, pygments, pycparser, psutil, prompt_toolkit, prometheus-client, platformdirs, parso, pandocfilters, packaging, overrides, nest-asyncio, mistune, MarkupSafe, jupyterlab-pygments, jsonpointer, json5, idna, h11, fqdn, executing, defusedxml, decorator, debugpy, colorama, charset-normalizer, certifi, bleach, babel, attrs, async-lru, asttokens, terminado, stack_data, rfc3339-validator, requests, referencing, python-dateutil, matplotlib-inline, jupyter-core, jinja2, jedi, ipython-pygments-lexers, httpcore, comm, cffi, beautifulsoup4, anyio, jupyter-server-terminals, jupyter-client, jsonschema-specifications, ipython, httpx, arrow, argon2-cffi-bindings, jsonschema, isoduration, ipykernel, argon2-cffi, nbformat, nbclient, jupyter-events, nbconvert, jupyter-server, notebook-shim, jupyterlab-server, jupyter-lsp, jupyterlab, notebook WARNING: The scripts pywin32_postinstall.exe and pywin32_testall.exe are installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script wsdump.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script send2trash.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script pygmentize.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script pyjson5.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The scripts debugpy-adapter.exe and debugpy.exe are installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script normalizer.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script pybabel.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The scripts jupyter-migrate.exe, jupyter-troubleshoot.exe and jupyter.exe are installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The scripts jupyter-kernel.exe, jupyter-kernelspec.exe and jupyter-run.exe are installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The scripts ipython.exe and ipython3.exe are installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script httpx.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script jsonschema.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script jupyter-trust.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script jupyter-execute.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script jupyter-events.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The scripts jupyter-dejavu.exe and jupyter-nbconvert.exe are installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script jupyter-server.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The scripts jlpm.exe, jupyter-lab.exe, jupyter-labextension.exe and jupyter-labhub.exe are installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script jupyter-notebook.exe is installed in &#39;C:\Users\86180\AppData\Roaming\Python\Python313\Scripts&#39; which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed MarkupSafe-3.0.2 anyio-4.9.0 argon2-cffi-23.1.0 argon2-cffi-bindings-21.2.0 arrow-1.3.0 asttokens-3.0.0 async-lru-2.0.5 attrs-25.3.0 babel-2.17.0 beautifulsoup4-4.13.4 bleach-6.2.0 certifi-2025.4.26 cffi-1.17.1 charset-normalizer-3.4.2 colorama-0.4.6 comm-0.2.2 debugpy-1.8.14 decorator-5.2.1 defusedxml-0.7.1 executing-2.2.0 fastjsonschema-2.21.1 fqdn-1.5.1 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.10 ipykernel-6.29.5 ipython-9.2.0 ipython-pygments-lexers-1.1.1 isoduration-20.11.0 jedi-0.19.2 jinja2-3.1.6 json5-0.12.0 jsonpointer-3.0.0 jsonschema-4.23.0 jsonschema-specifications-2025.4.1 jupyter-client-8.6.3 jupyter-core-5.7.2 jupyter-events-0.12.0 jupyter-lsp-2.2.5 jupyter-server-2.15.0 jupyter-server-terminals-0.5.3 jupyterlab-4.4.2 jupyterlab-pygments-0.3.0 jupyterlab-server-2.27.3 matplotlib-inline-0.1.7 mistune-3.1.3 nbclient-0.10.2 nbconvert-7.16.6 nbformat-5.10.4 nest-asyncio-1.6.0 notebook-7.4.2 notebook-shim-0.2.4 overrides-7.7.0 packaging-25.0 pandocfilters-1.5.1 parso-0.8.4 platformdirs-4.3.8 prometheus-client-0.21.1 prompt_toolkit-3.0.51 psutil-7.0.0 pure-eval-0.2.3 pycparser-2.22 pygments-2.19.1 python-dateutil-2.9.0.post0 python-json-logger-3.3.0 pywin32-310 pywinpty-2.0.15 pyyaml-6.0.2 pyzmq-26.4.0 referencing-0.36.2 requests-2.32.3 rfc3339-validator-0.1.4 rfc3986-validator-0.1.1 rpds-py-0.24.0 send2trash-1.8.3 setuptools-80.4.0 six-1.17.0 sniffio-1.3.1 soupsieve-2.7 stack_data-0.6.3 terminado-0.18.1 tinycss2-1.4.0 tornado-6.4.2 traitlets-5.14.3 types-python-dateutil-2.9.0.20241206 uri-template-1.3.0 urllib3-2.4.0 wcwidth-0.2.13 webcolors-24.11.1 webencodings-0.5.1 websocket-client-1.8.0 [notice] A new release of pip is available: 25.0.1 -> 25.1.1 [notice] To update, run: python.exe -m pip install --upgrade pip
05-13
WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/d1/24/0794fe23b1a762ae03ff8db91b10de5999436ffc8bc24cf96e264e24a1e6/vector_quantize_pytorch-1.16.1-py3-none-any.whl (39 kB) INFO: pip is still looking at multiple versions of optimum to determine which version is compatible with other requirements. This could take a while. WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/42/fa/2836732a62b4899fcbd1f5e26ec42c4a8494f399e9d2ad8b3a7551983c2c/vector_quantize_pytorch-1.15.6-py3-none-any.whl (38 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/d8/60/d1989a9d958c893ffc6136cd0dbb5490911fea3e15833c2420dab178935b/vector_quantize_pytorch-1.15.5-py3-none-any.whl (38 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/5b/86/6513dfba2928f1690d04466a95912ad526b8e1a134be1ab7b6ca335e2779/vector_quantize_pytorch-1.15.4-py3-none-any.whl (38 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/f4/79/f8f7700cd86411b8253d824a46132e7091ec95acda517fb4c33345c16dfc/vector_quantize_pytorch-1.15.3-py3-none-any.whl (38 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/77/5c/1e230ac0a4ef760d35ebaf83ee1fc63603fabd4921acfd16ca7037f8f605/vector_quantize_pytorch-1.15.2-py3-none-any.whl (38 kB) INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C. WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/42/b7/6d5ad02a029d15246c6b4884290a06fe6521d5e17a22c12289e926427ff3/vector_quantize_pytorch-1.15.1-py3-none-any.whl (38 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/96/2c/f90a03d658435adc5fb15671bcf791d0426c7279b02a4c41e65e48410641/vector_quantize_pytorch-1.15.0-py3-none-any.whl (38 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/73/32/8af32fad23d4f7d48e0c65d35c187953e64ea8d5f39e6e3abb8d108d320f/vector_quantize_pytorch-1.14.46-py3-none-any.whl (38 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/fb/db/169761922a4c8c47470b42a09c0870da82ae2e82c8067d1f108f18e52a1c/vector_quantize_pytorch-1.14.45-py3-none-any.whl (38 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/ee/b5/ddb332365492d81bd06e1d8bac390633af9dbc4bb85870bca43dd4cae14a/vector_quantize_pytorch-1.14.44-py3-none-any.whl (38 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/e7/14/c9bdcdb4c47e09fc055ac8bda3519c228a11a08c36e2936305348d1fa415/vector_quantize_pytorch-1.14.43-py3-none-any.whl (38 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Using cached https://pypi.tuna.tsinghua.edu.cn/packages/6e/29/ed997e56331dbc677be2028a49662a2a226c9855887d071631dfc39c31f2/vector_quantize_pytorch-1.14.42-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/58/00/73aa281d6a7dfed26d4adce6d8dd4b7ceb8b0f805f174a66e942c590b81c/vector_quantize_pytorch-1.14.41-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/0d/9c/24a2890d2900640c70194791a2da77e83c7556395c55b6e7eb6f27f1d5e8/vector_quantize_pytorch-1.14.40-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/11/2e/b8568351d1c9547b547bc9941bef4a2391caf0063a585086dbb23fba602a/vector_quantize_pytorch-1.14.39-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/94/f9/ed1b780c18e559684b9bba0c39de0de00708cd87fffd5d25d98b65840a9e/vector_quantize_pytorch-1.14.37-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/67/0d/0b74350dc61fbd88cf5350ac4bac1d779ee50e7be4288533358f90fe16de/vector_quantize_pytorch-1.14.36-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f2/cf/1e0591894027b6ea6e763553f3470a93d388514dce18dfe254052ee4373c/vector_quantize_pytorch-1.14.35-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/5a/13/55dfe5494bdbc9dfc31c308b1faea1fd56b62d007f6d4b3ce5b7bcdcdb8a/vector_quantize_pytorch-1.14.34-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/03/8c/c599b06f0340009faae0fe17276735cd780744c8a6a6dde7292d20b709ce/vector_quantize_pytorch-1.14.33-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f5/da/737d9792ebd3efa5203b5eb5090305c25aac11a20092645c56808b9f2e0c/vector_quantize_pytorch-1.14.32-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f2/18/ad8a08fc9b2ee612a31c35ef0012a918735c4a1d6a937aa6c703076ff121/vector_quantize_pytorch-1.14.31-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c6/f8/4f214d994368807dba65cb56817e03553376991da4f17b2936c4159c774c/vector_quantize_pytorch-1.14.30-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/77/4a/7d9238bb61489d85343335c89fad94123de9571ec788c7f4b8c170186ebd/vector_quantize_pytorch-1.14.29-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e8/62/dbd487f64156a9c083117333a055fe31a710b054a1526ab48e95934497c7/vector_quantize_pytorch-1.14.28-py3-none-any.whl (37 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; Downloading https://pypi.tuna.tsinghua.edu.cn/packages/4d/6d/e747eb10d5b0ea7fe5c90f6745957e5d55f23ec05f734f426026bd77c323/vector_quantize_pytorch-1.14.27-py3-none-any.whl (36 kB) WARNING: typer 0.16.0 does not provide the extra &#39;all&#39; WARNING: typer 0.16.0 does not provide the extra &#39;all&#39;
06-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值