运行 setup.py 时更改包名称
Change package name when running setup.py
我已经 fork 了一个 repo,现在我已经克隆了它。当 运行 将 setup.py 文件放入其中时,Python 将包安装在站点包中作为一个晦涩的名称,在 Python 文件中导入它是不可行的.
例如,我分叉并克隆了一个名为 foo
的存储库。我也可以在 setup.py 文件中看到这个:
setup(
name='foo',
version='3.3.0-rc6',
packages=find_packages('src'),
package_dir={'': 'src'},
include_package_data=True,
当我 运行 python setup.py install
时,我发现软件包已安装为 foo-3.3.0rc6-py3.6.egg
。我不想在我的每个使用它的项目中都以这个名称导入包。
我怎样才能将包名称更改为 foo
(当 running/installing 通过 setup.py 时),这样我就可以 运行 import foo
而不是import foo-3.3...
?
我觉得我不能只是重命名它,好像我希望其他用户克隆 repo 而不必经历和我一样的麻烦。包名称是否嵌入在 setup.py 文件夹中?
如果您还需要什么,请告诉我,我愿意解决这个问题。
您不必导入 foo-3.3
;实际上你不能导入,因为它是 SyntaxError
.
您不必从 foo-3.3.0rc6-py3.6.egg
导入 foo-3.3
,因为 distutils/setuptools 为鸡蛋配置了正确的导入路径。查看 easy-install.pth
文件,您会发现 ./foo-3.3.0rc6-py3.6.egg
。 运行 python
并验证 sys.path
— 必须有 foo-3.3.0rc6-py3.6.egg
条目以便 import foo
有效。
这只是鸡蛋的名字,您不必担心。 Python 知道在哪里寻找包裹,所以当你这样做时:
import foo
...它会做正确的事。
我已经 fork 了一个 repo,现在我已经克隆了它。当 运行 将 setup.py 文件放入其中时,Python 将包安装在站点包中作为一个晦涩的名称,在 Python 文件中导入它是不可行的.
例如,我分叉并克隆了一个名为 foo
的存储库。我也可以在 setup.py 文件中看到这个:
setup(
name='foo',
version='3.3.0-rc6',
packages=find_packages('src'),
package_dir={'': 'src'},
include_package_data=True,
当我 运行 python setup.py install
时,我发现软件包已安装为 foo-3.3.0rc6-py3.6.egg
。我不想在我的每个使用它的项目中都以这个名称导入包。
我怎样才能将包名称更改为 foo
(当 running/installing 通过 setup.py 时),这样我就可以 运行 import foo
而不是import foo-3.3...
?
我觉得我不能只是重命名它,好像我希望其他用户克隆 repo 而不必经历和我一样的麻烦。包名称是否嵌入在 setup.py 文件夹中?
如果您还需要什么,请告诉我,我愿意解决这个问题。
您不必导入 foo-3.3
;实际上你不能导入,因为它是 SyntaxError
.
您不必从 foo-3.3.0rc6-py3.6.egg
导入 foo-3.3
,因为 distutils/setuptools 为鸡蛋配置了正确的导入路径。查看 easy-install.pth
文件,您会发现 ./foo-3.3.0rc6-py3.6.egg
。 运行 python
并验证 sys.path
— 必须有 foo-3.3.0rc6-py3.6.egg
条目以便 import foo
有效。
这只是鸡蛋的名字,您不必担心。 Python 知道在哪里寻找包裹,所以当你这样做时:
import foo
...它会做正确的事。