坏的Python包组织是否在我的路径中安装了“tests”包?(蟒蛇)

坏的Python包组织是否在我的路径中安装了“tests”包?(蟒蛇),python,anaconda,setuptools,pypi,Python,Anaconda,Setuptools,Pypi,不知何故(由于一些不好的建议),我相信已经被我的项目目录的一个组织 现在看起来是这样(很好!): 然而,它过去看起来是这样的(糟糕!) 我猜这是由于使用最初损坏的软件包组织安装我的软件包造成的 如何从路径中删除此测试“包”我正在使用Anaconda 4.3(最新版本)pip卸载测试未成功 注意:我的项目也已经发布到pypi(项目名称:parmatter),我确实从那里安装了一次作为测试,但只是在使用修改后的项目组织结构之后,所以我认为这不是原因。如果有人想安装它,看看它是否会导致同样的问题,这至

不知何故(由于一些不好的建议),我相信已经被我的项目目录的一个组织

现在看起来是这样(很好!):

然而,它过去看起来是这样的(糟糕!)

我猜这是由于使用最初损坏的软件包组织安装我的软件包造成的

如何从路径中删除此
测试
“包”
我正在使用Anaconda 4.3(最新版本)<代码>pip卸载测试未成功

注意:我的项目也已经发布到pypi(项目名称:parmatter),我确实从那里安装了一次作为测试,但只是在使用修改后的项目组织结构之后,所以我认为这不是原因。如果有人想安装它,看看它是否会导致同样的问题,这至少可以帮助我确定原因

项目回购:

来源分布:


编辑 下面是python-m站点的结果

C:\>python -m site
sys.path = [
    'C:\\',
    'C:\\Users\\ricky\\Anaconda3\\python36.zip',
    'C:\\Users\\ricky\\Anaconda3\\DLLs',
    'C:\\Users\\ricky\\Anaconda3\\lib',
    'C:\\Users\\ricky\\Anaconda3',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages\\Sphinx-1.5.6-py3.6.egg',
    'c:\\users\\ricky\\projects\\parmatter',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages\\win32',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages\\win32\\lib',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages\\Pythonwin',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages\\setuptools-27.2.0-py3.6.egg',
]
USER_BASE: 'C:\\Users\\ricky\\AppData\\Roaming\\Python' (doesn't exist)
USER_SITE: 'C:\\Users\\ricky\\AppData\\Roaming\\Python\\Python36\\site-packages' (doesn't exist)
ENABLE_USER_SITE: True

似乎我需要从
站点
中删除项目目录。。。我该怎么做?一开始它是如何到达那里的

问题是由OP在开发模式下安装项目的旧版本引起的,使用系统Python解释器而不是在venv中(提示:不要这样做)。这将在
easy install.pth
中创建一行,使项目目录在
sys.path
中可用

站点软件包
目录中找到
easy install.pth
文件,并删除以下开头的任何行:

c:\\users\\username\\projects
至于你的项目结构, 我建议您从tests子目录中删除
\uuuu init\uuuuuuuy.py
这不是必需的,这意味着如果您使用
find_packages()
helper,您必须明确排除
测试


我安装了您的v0.0.5发行版,该版本中没有问题。Python2的发行版已损坏,您应该在
setup.py
setup调用中包含
Python\u requires='>=3'
,以便生成适当的元数据,防止pip尝试在Python2上安装它

我想你可以试试
pip卸载测试
@PaulH不,不行。模块对象没有
\uuu文件\uuu
属性。它有一个
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。顺便说一句:我在
网站包
目录中查找了
.egg link
文件,但没有。是的,在
测试中使用
\uuuuu init\uuuuuuuuuuuuuy.py
是一个错误。我已经没有了,但问题仍然存在。它是只从您的venv中导入,还是也导入到您的系统python中?请将cd刻录到/tmp并进行编辑,以便在您的问题中包含
python-m site
的输出。不,这些内容是通过
.pth
文件完成的,而
site.py
使用这些文件,重新启动可能无法修复。看见在您的磁盘上找到
easy install.pth
文件,并删除相关行。
>>> import tests
>>> tests.__path__
_NamespacePath(['c:\\users\\username\\projects\\projectname\\tests'])
C:\>python -m site
sys.path = [
    'C:\\',
    'C:\\Users\\ricky\\Anaconda3\\python36.zip',
    'C:\\Users\\ricky\\Anaconda3\\DLLs',
    'C:\\Users\\ricky\\Anaconda3\\lib',
    'C:\\Users\\ricky\\Anaconda3',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages\\Sphinx-1.5.6-py3.6.egg',
    'c:\\users\\ricky\\projects\\parmatter',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages\\win32',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages\\win32\\lib',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages\\Pythonwin',
    'C:\\Users\\ricky\\Anaconda3\\lib\\site-packages\\setuptools-27.2.0-py3.6.egg',
]
USER_BASE: 'C:\\Users\\ricky\\AppData\\Roaming\\Python' (doesn't exist)
USER_SITE: 'C:\\Users\\ricky\\AppData\\Roaming\\Python\\Python36\\site-packages' (doesn't exist)
ENABLE_USER_SITE: True
c:\\users\\username\\projects