【问题标题】:install python package to sys.path将 python 包安装到 sys.path
【发布时间】:2017-09-15 12:36:09
【问题描述】:

我是 python3 的新手,我想创建一个可以从其他 python 脚本导入的包。

所以我创建了我的包并运行了

python3 setup.py sdist

创建我的压缩包。

当我将它移动到另一个目录以解压缩它然后使用

安装包时

python3 setup.py install -user --prefix=

很好,没有错误,它安装在我的python站点包中,当我运行python3时,我可以导入我的lib并调用它的函数。

但是当我想在脚本中导入这个包时,它会告诉我

ImportError:没有名为 test_package.pck1.addition 的模块

我知道我可以添加

import sys
sys.path.append('./test_package.0.1')

要修复它,但我想避免这种情况,因为这意味着在尝试在另一个脚本中使用它时总是必须修改包的路径。

那么如何在不修改 sys.path 的情况下导入我的包。或者我怎样才能安装我的包,这样我的脚本就不需要它了。

我尝试了很多安装过程(使用 pip3,尝试不同的选项等),但没有像我预期的那样工作。

【问题讨论】:

  • 你是如何创建包的?我想学它。你能分享一些关于这个包主题的资源和例子吗
  • 这主要是一个测试,所以它没有什么真正的创意我主要遵循教程并尝试使其成为我自己的这里是我遵循的教程:link
  • 是的,我需要教程,如果您有任何教程,请与我分享。视频将不胜感激
  • 我没有看视频,所以这里是我使用的 tutos:link 6.4 部分,link 也是安装包link
  • 你的包裹在哪里?

标签: python package sys.path


【解决方案1】:

您创建了 python 包“toto.py”。你想在 python 脚本'tata.py'中导入它。您在 tata 脚本中编写“import toto”并将文件“toto.py”放在 PYTHONPATH 环境变量中包含的目录中。

虽然我不使用 python 2,但在我看来,python 2 和 3 是一样的。因此我不确定我是否理解了这个问题。

【讨论】:

  • 是的,我明白这一点,但问题是我希望它在安装包时完成,因为如果我把我的包交给别人,我不希望那个人把包放在里面一个特定的目录。我不明白的是,当我启动 python3 时,我可以导入我的包并使用它,但是在脚本中它告诉我可以完成导入,除非我添加 sys.path.append('Path To My Package')
猜你喜欢
  • 2023-03-23
  • 2012-06-23
  • 2019-03-14
  • 2021-12-13
  • 2021-09-30
  • 1970-01-01
  • 2022-11-20
  • 2022-11-15
  • 2023-04-03
相关资源
最近更新 更多