在所需文件夹中安装 python 包

2024-01-25

我已经下载了一个 python 包安装在我的 ubuntu 机器上。该包已经有一个 setup.py 文件可供使用,但我想将默认的 python 安装地址更改为其他地址,专门用于该包(并且不是很好)。所以我尝试的是:

首先在终端中,我导出新文件夹的地址:export PYTHONPATH=${PYTHONPATH}:${HOME}/Documents/testfolder/lib/python2.7/site-packages

然后我将此导出的地址作为前缀添加到安装命令中:python setup.py install --prefix=~/Documents/testfolder

安装完成。现在,为了让 python 始终寻找这个新路径(默认安装路径旁边),我将地址导出到 bashrc 文件中:export PYTHONPATH="${PYTHONPATH}:~/Documents/testfolder/lib/python2.7/site-packages"

但现在每当我打开终端并尝试导入已安装的软件包时,它都看不到(“没有名为...的模块”)。只有当我在安装文件(即 setup.py)所在的文件夹中打开终端并运行 python 时,它才能看到该包,并且它可以在那里工作。

为什么我在 bashrc 中的导出不能使该包从任何地方可用? 上面我做错了什么吗?


回答您有关导出路径的问题。您是否将 $PYTHONPATH 作为 $PATH 的一部分?如果没有,您应该将其添加到路径中。

我认为处理这种情况的最佳方法是使用虚拟 python 环境。有几个可供选择,但我最喜欢 virtualenv。采用这种方法的原因是因为您可以在不同的文件夹中管理不同版本的 python。并在这些文件夹中安装单独的软件包。我建议研究它,因为它是一个非常有用的工具。如果您想要有关如何使用它的示例,我可以提供https://virtualenv.pypa.io/en/stable/ https://virtualenv.pypa.io/en/stable/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在所需文件夹中安装 python 包 的相关文章

随机推荐

  • 为什么不能在 JObject 上使用 LINQ 方法?

    Newtonsoft Json Linq JObject实施的IEnumerable
  • 使用 NLog 的 Ninject 记录器

    我刚刚开始学习 Ninject 但遇到了记录器的问题 我目前有一个控制器 它有一个服务和记录器注入到构造函数中 如下所示 public ToolsController IToolsService toolsService ILogger l
  • 如何在 puppeteer 中传递实验性 chrome 选项

    我有一个用 python 编写的应用程序selenium https www selenium dev 其中设置了一些实验选项镀铬驱动程序 https chromedriver chromium org from selenium impo
  • FFmpeg - 将最大视频尺寸调整为 320

    我正在尝试使用 FFmpeg 动态更改通过 PHP 上传到服务器的视频的分辨率 IE 我想保留纵向或横向方向 如果 Y 高于 X 我想将 Y 更改为 320 将 X 更改为相应的值 反之亦然 我在调整大小本身方面没有遇到任何问题 实际上 这
  • Python 十六进制

    如何将十进制转换为以下格式的十六进制 至少两位数字 零填充 没有 0x 前缀 Input 255输出 ff Input 2输出 02 I tried hex int 2 但它似乎显示第一个示例 但不显示第二个示例 Use the forma
  • 在没有互联网连接的情况下离线运行 Maven 和 Sonatype Nexus

    我正在尝试使用 Nexus 设置 Maven 环境 以便 Maven 从本地 Nexus 存储库下载其工件 出于安全原因 安装 Maven 和 Nexus 的计算机没有互联网连接 我的工作站上有类似的配置 但具有互联网连接 我在两台机器上安
  • 无法使用“UIImagePickerController.InfoKey”类型的索引为“[String : Any]”类型的值添加下标

    我在用着Apple 的 Swift iOS 教程 https developer apple com library archive referencelibrary GettingStarted DevelopiOSAppsSwift W
  • 用于地理编码的 ArcGIS 自定义搜索输入

    在 JHipster 生成的 Angular 项目中 我想使用ArcGIS 地理编码 REST API https developers arcgis com labs rest search for an address 通过对结果进行预
  • 为什么枚举构造函数无法访问静态字段[重复]

    这个问题在这里已经有答案了 可能的重复 为什么枚举的构造函数不能访问静态字段 https stackoverflow com questions 443980 why cant enums constructor access static
  • 如何避免引用 DLL 的引用 DLL

    我有一个 ASP Net 项目 ProjA 和一个类库项目 LibB 我在库中创建了一个自定义类 ClassC 并添加了对现有 dll DllD 的引用 我在 ProjA 中选择了 添加引用 选项 并从 解决方案 选项卡中选择了 LibB
  • 如何在 Javascript 中处理 ActiveX 事件

    这在某种程度上是答案的后续here https stackoverflow com questions 26536 active x control javascript 我有一个自定义 ActiveX 控件 它引发一个事件 带有 msg
  • 后藤这个时候出乎意料了?

    我正在尝试制作一个连接四的小游戏 每当我按下 Enter 键而不在控制台中输入任何内容时 它都会说此时 goto 是意外的 如果没有用户输入 我希望它现在返回 X 任何帮助将不胜感激 X cls echo echo Connect Four
  • Wagtail 为 MyPage 设置附加权限

    这里是鹡鸰新手 我试图为特定模型添加一些额外的权限 但 wagtail admin 中没有显示任何内容 我可以用 django 方式做到这一点 但我的印象是 wagtail 可以处理这种类型的权限 我在 wagtail 文档中找不到任何提示
  • postgres 中的动态表分区

    例如 我正在寻找将 postgres 数据分区到基于时间戳的表中的方法 但无需手动添加相关子表 我看到这篇博文就是这样做的 https blog engineyard com 2013 scaling postgresql performa
  • 无法读取 null 的属性“样式”

    由于某种奇怪的原因 我收到了一个奇怪的错误 我有一个元素 用 PHP 定义 最终看起来像这样 span style display inline some html inputs and stuff span 我通过 Chrome 的 In
  • 使用 Protractor 访问 JS 范围元素/变量

    我有一个量角器测试 输入登录数据并单击登录按钮 我希望检查 Angular 变量的值 被单击元素的 ng click 是 doLogin 它在控制器文件中定义为 scope doLogin function console log logi
  • 在 MarkLogic 中处理禁运内容场景

    我有一个 MarkLogic 7 数据库 其中插入了多个文档 每个文档都有自己的created on and released on 举例来说 如果将文档插入到数据库中1400小时及其released on值为1700小时然后我需要将此文档
  • 无法单击打开文件附件对话框的按钮

    我在用着硒2 我正在尝试单击打开文件附件对话框的按钮 但是当我点击它时什么也没有发生
  • $q 承诺 - 对象不是函数

    我想运行承诺样本https docs angularjs org api ng service q https docs angularjs org api ng service 24q 这是我的代码 angular module test
  • 在所需文件夹中安装 python 包

    我已经下载了一个 python 包安装在我的 ubuntu 机器上 该包已经有一个 setup py 文件可供使用 但我想将默认的 python 安装地址更改为其他地址 专门用于该包 并且不是很好 所以我尝试的是 首先在终端中 我导出新文件