我正在尝试基于这些说明设置一个简单的Python存储库。
我创建了所需的目录结构,但是pip
找不到任何版本。在深入研究主题并参考PEP 503-简单存储库API之后,我发现自动生成的HTML网站的结构应为:
<!DOCTYPE html>
<html>
<body>
<a href="/frob/">frob</a>
<a href="/spamspamspam/">spamspamspam</a>
</body>
</html>
同一PEP还说:
锚标签的文本必须是项目的归一化名称 HREF属性必须链接到该特定的URL 项目。
在我的情况下,看起来像:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /</title>
</head>
<body>
<h1>Index of /</h1>
<ul><li><a href="packet_name/"> packet_name/</a></li>
</ul>
</body></html>
请注意开始时的空格,并在<a>
标签的末端砍伐。是
<a href="packet_name/"> packet_name/</a>
,但应该是
<a href="packet_name/">packet_name</a>
当前看起来像这样的.htaccess文件:
Options +Indexes
IndexOptions SuppressColumnSorting -FancyIndexing
IndexIgnore ..
有没有办法指示Apache按PEP 503的要求使用目录布局?
事实证明,链接的格式不是问题,而是归一化文件夹结构。PEP 503期望将文件夹在根级别上进行标准化。考虑该项目的名称为foo_bar
。然后,目录布局必须为:
.
|- foo-bar
|-- foo_bar-0.1.tar.gz
请注意,该文件夹通过用单个-
替换., -, or _
字符"归一化"。之后.htaccess
文件和自动基因索引工作正常。
这是PEP 503的相关部分:
是PEP参考"归一化"项目名称的概念。按照 PEP 426名称中唯一有效的字符是ASCII字母, ASCII数字,。, - 和_。该名称应与所有人相提并论 字符的运行。, - 或_替换为单个字符。 可以在Python中使用RE模块实现: