Python setuptools查找文件,但不查找函数? 背景
作为一名setuptools新手,我尝试按照中的步骤进行操作。 (相关时间戳为2:31和3:09)。我的目标只是让这个例子发挥作用,但是使用conda而不是venv。也就是说,我想打包一个简单的包,用pip在本地安装它,并使用该包中可用的模块。包已成功找到并可导入,但其内容(模块及其功能)不可导入 我在网上找不到类似的问题。任何帮助都将不胜感激 下面是更多的细节 目录结构Python setuptools查找文件,但不查找函数? 背景,python,python-3.6,conda,setuptools,packaging,Python,Python 3.6,Conda,Setuptools,Packaging,作为一名setuptools新手,我尝试按照中的步骤进行操作。 (相关时间戳为2:31和3:09)。我的目标只是让这个例子发挥作用,但是使用conda而不是venv。也就是说,我想打包一个简单的包,用pip在本地安装它,并使用该包中可用的模块。包已成功找到并可导入,但其内容(模块及其功能)不可导入 我在网上找不到类似的问题。任何帮助都将不胜感激 下面是更多的细节 目录结构 setup.py 我试过的 在蟒蛇提示下 首先,Icd到PackageTests。然后: conda create -n p
setup.py
我试过的
在蟒蛇提示下
首先,Icd
到PackageTests。然后:
conda create -n package_test
conda activate package_test
conda install -n package_test "python<3.7"
pip install -e .
python
结果:
第一行运行良好,第二行给出:
AttributeError:模块“prettypackage”没有属性“prettyplass”
dir(prettypackage)
还只列出了dunder变量(\uuuuu name\uuuuuuu
,\uuuu doc\uuuuu
等)
包安装后的目录结构
SOURCES.txt
top_level.txt
预包装
再次提前感谢您的帮助 在您尝试测试软件包安装的同一目录中是否有
prettypackage.py
文件?@jordanm上面给出的目录结构都是完整的,即PackageTests目录中没有其他文件。编辑:一个隐藏文件作为例外:idea隐藏目录。但它只包含xml和iml文件,我的意思是在shell的当前工作目录中键入命令“python”。当前工作目录中的文件位于所有其他导入位置之前。@jordanm我正在PackageTests目录中运行“python”。它最多只能找到PackageTests/prettypackage/prettypackage.py文件。在prettypackage目录中运行python会导致预期的行为,因为-我假设-本地文件是直接读取的;prettypackage.prettypackage.prettyplass().speak()。更准确地说,我将文件prettypackage/prettypackage.py
重命名为prettypackage/prettypodule.py
。这样您就有了prettypackage.prettypodule.prettyplass().speak()
。
class PrettyClass():
def speak(self):
return "i am so pretty uwu"
import setuptools
setuptools.setup(
name='prettypackage',
version='0.0.1',
description='Just a beautiful test package, heh',
packages= ['prettypackage']
)
conda create -n package_test
conda activate package_test
conda install -n package_test "python<3.7"
pip install -e .
python
import prettypackage
prettypackage.PrettyClass().speak()
PackageTests
|
|-- README.md
|
|-- prettypackage
| |-- __init__.py
| |
| |-- prettypackage.py
|
|-- prettypackage.egg-info
| |
| |-- dependency_links.txt
| |
| |-- PKG-INFO
| |
| |-- SOURCES.txt
| |
| |-- top_level.txt
|
|_ setup.py
Metadata-Version: 1.0
Name: prettypackage
Version: 0.0.1
Summary: Just a beautiful test package, heh
Home-page: UNKNOWN
Author: UNKNOWN
Author-email: UNKNOWN
License: UNKNOWN
Description: UNKNOWN
Platform: UNKNOWN
README.md
setup.py
prettypackage/__init__.py
prettypackage/prettypackage.py
prettypackage.egg-info/PKG-INFO
prettypackage.egg-info/SOURCES.txt
prettypackage.egg-info/dependency_links.txt
prettypackage.egg-info/top_level.txt
prettypackage