Python 3.x 在站点包目录结构中安装python 3.6命名空间包 问题: 我无法在3.6.4虚拟环境中以预期的目录结构(在Lib/site packages下)安装源分发命名空间包。
背景: 我正在使用两个不同版本的python中的名称空间包 当我在2.7.14中使用pkgutils样式的ns打包构建包时,我可以安装,并且目录结构可以按照我所希望的方式展开 当我在3.6.4中构建包时,包会安装,但目录结构没有按预期创建 设置: 我有两个虚拟环境 在工作中,我使用了2.7.14兼容的pkgutils命名空间包功能。我正在为这个虚拟环境使用VirtualEnvironment来确认安装,它会按照我的意愿安装。目录结构按预期显示在我的venv/Lib/site包中,这样venv/Lib/site包/tools/sub_a就存在了 在非工作模式中,我根据PEP420使用venv和隐式命名空间打包 以下是我的3.6.4包目录结构:Python 3.x 在站点包目录结构中安装python 3.6命名空间包 问题: 我无法在3.6.4虚拟环境中以预期的目录结构(在Lib/site packages下)安装源分发命名空间包。,python-3.x,namespace-package,Python 3.x,Namespace Package,背景: 我正在使用两个不同版本的python中的名称空间包 当我在2.7.14中使用pkgutils样式的ns打包构建包时,我可以安装,并且目录结构可以按照我所希望的方式展开 当我在3.6.4中构建包时,包会安装,但目录结构没有按预期创建 设置: 我有两个虚拟环境 在工作中,我使用了2.7.14兼容的pkgutils命名空间包功能。我正在为这个虚拟环境使用VirtualEnvironment来确认安装,它会按照我的意愿安装。目录结构按预期显示在我的venv/Lib/site包中,这样venv/L
tools
-sub_a
-__init__.py
-module.py
setup.py
README.rst
我的子包init内部只有以下内容:
name = 'sub_a'
这是我的setup.py
from setuptools import setup
from codecs import open
from os import path
here = path.abspath(path.dirname(__file__))
with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
long_description = f.read()
setup(
name='tools-sub-a',
version='1.0.0',
description='A sample Python project',
long_description=long_description,
url='none',
author='myuser',
author_email='myuser@host.com',
classifiers=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'Topic :: Software Development :: Build Tools',
'License :: Only For Internal Use',
'Programming Language :: Python :: 3.6.4'
],
keywords='none',
packages=['tools.sub_a'],
install_requires=[],
extras_require={},
package_data={},
data_files=[],
entry_points={},
project_urls={},
)
包使用python setup.py sdist构建,我将tar.gz文件传输到虚拟环境根目录,然后运行
pip install --no-index --find-links=. tools-sub-a
这安装得很好,但是当我导航到virtualenvironment Lib/site packages目录时,tools/sub_a目录结构不在那里
我看到一个tools\u sub\u a-1.0.0.dist-info,但没有预期的名称空间包目录。只是一个非建设性的旁注:上次我尝试将PEP-420名称空间包与setuptools结合使用时,我最终放弃了。@code\u onkel-ouch。不幸的是,这不是我的选择。如果我可以,为了建设性的考虑,如果你想看到解决的问题,考虑一下投票的可见性。我无法重现所描述的问题(Ubuntu 16.04/Python 3.64)。在构建、安装和测试软件包时,您是否验证了正确的解释器版本和虚拟环境是否有效?你使用的是Windows还是Linux?(尽管有斜杠,但site packages文件夹的路径指示windows)您是否尝试从头开始重新构建venv?我在笔记本电脑上进行了尝试,并且安装正确。非常感谢。我将尝试新安装并重新创建虚拟环境。但现在我知道它至少起作用了