Python中文
首页
教程
问答
标签
搜索
登录
注册
导入另一个文件E
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我的文件夹/文件结构是:</p> <pre><code>testpkg/test/__init__.py; testpkg/test/test1.py testpkg/test/test2.py testpkg/setup.py </code></pre> <p><code>testpkg/test/__init__.py</code>文件为空。<br/> <code>testpkg/test/test1.py</code>文件内容:</p> ^{pr2}$ <p><code>testpkg/test/test2.py</code>文件内容:</p> <pre><code>from .test1 import Test1 def main(): t = Test1('me') t.what_is_your_name() if __name__ == '__main__': main() </code></pre> <p><code>/testpkg/setup.py</code>内容:</p> <pre><code>from setuptools import setup setup(name='test', version='0.1', packages=['test'], entry_points={ 'console_scripts': [ 'test_exec = test.test2:main' ] } ) </code></pre> <p>我无法直接调试/运行<code>test2.py</code>脚本,因为它会给我错误:</p> <pre><code>» python test/test2.py Traceback (most recent call last): File "test/test2.py", line 1, in <module> from .test1 import Test1 ModuleNotFoundError: No module named '__main__.test1'; '__main__' is not a package </code></pre> <p>但是当我用<code>pip install -U .</code>安装它时</p> <p>它起作用:</p> <pre><code>» pip install -U . Processing /home/kossak/Kossak/files_common/PythonProjects/testpkg Installing collected packages: test Found existing installation: test 0.1 Uninstalling test-0.1: Successfully uninstalled test-0.1 Running setup.py install for test ... done Successfully installed test-0.1 » test_exec My name is me </code></pre> <p>问题是:<strong>如何正确地编写<code>test2.py</code>,这样它就可以双向工作了——直接(这样我就可以在PyCharm中调试它,或者只使用<code>python test2.py</code>运行它)和在安装<code>test</code>包之后?</strong>我试着换行:</p> <pre><code>from .test1 import Test1 </code></pre> <p>到</p> <pre><code>from test1 import Test1 </code></pre> <p>(删除圆点)</p> <p>我可以从命令行运行<code>test2.py</code>,但在安装之后,我的脚本“test\u exec”给了我一个错误:</p> <pre><code>Traceback (most recent call last): File "/home/kossak/anaconda3/bin/test_exec", line 11, in <module> load_entry_point('test==0.1', 'console_scripts', 'test_exec')() File "/home/kossak/anaconda3/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg/pkg_resources/__init__.py", line 565, in load_entry_point File "/home/kossak/anaconda3/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg/pkg_resources/__init__.py", line 2598, in load_entry_point File "/home/kossak/anaconda3/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg/pkg_resources/__init__.py", line 2258, in load File "/home/kossak/anaconda3/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg/pkg_resources/__init__.py", line 2264, in resolve File "/home/kossak/anaconda3/lib/python3.6/site-packages/test/test2.py", line 1, in <module> from test1 import Test1 ModuleNotFoundError: No module named 'test1' </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>尝试如下导入:<code>from test.test1 import Test1</code></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当启用身份验证时,超过一定大小的http发布失败
9 回答
当呈现Flask温度时,bokeh图为空
4 回答
当呈现模板时,如何引用sqlalchemy中的自定义字段?
6 回答
当周围有更多相同类型的标记时,如何从一个标记中提取数据
2 回答
当周数跨越多个y时,如何使用Pandas groupby week
10 回答
当呼唤django和python提示时
2 回答
当命令`Brew installPython@2`然后出现错误“Theme error”。如何解决?
2 回答
当命令[1]不存在时,用户输入命令以列出超出范围的索引
5 回答
当命令/启动被发送到bot时,bot应该删除发送给组的标签;但是bot没有
1 回答
当命令lin执行时,导入datetime会在Python脚本中引发ModuleNotFound“math”
2 回答
当命令中提到Bot时,Bot发送其前缀
7 回答
当命令位于DM中时,Python Discord.py bot将角色分配给服务器中的用户
7 回答
当命令在discord.py中缺少必需的参数时,如何显示消息
9 回答
当命令在多个不同的服务器上处于活动状态时,如何在discord.py上使用while循环
9 回答
当命令在提示符下成功运行时,Python subprocess.check_输出产生错误
10 回答
当命令提示时自动按键按回车键
7 回答
当命令提示符意外关闭时,如何访问python虚拟环境?
7 回答
当命令提示符给出导入错误时,当我尝试运行服务器python文件时,需要进行什么更改?
8 回答
当命令有双引号时,如何从python运行windows命令行命令
9 回答
当命令的一部分来自用户inpu时在linux服务器上执行命令的安全方法
10 回答