问题标签 [package-management]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - python help('modules') 返回 ImportError
最近,(我不知道什么时候),我安装了这个名为 pymol 的包。今天,当我尝试复制所有安装模块的列表时,遇到了这个错误。
我试过了
这肯定行得通……但也绝对行不通。它删除了 .egg,并且 pip 列表告诉我它没有安装,但该工具仍然存在。我打开一个python提示并毫无问题地导入它。现在我的问题是,如果我只是删除包,是否有任何可能出错的地方,(WCS 我认为 kafkaesque 在我的余生中破坏了依赖修复。)并且是否有一个标准化的最佳实践来删除这个,或任何其他包手动。
python - 如何让系统在 Ubuntu 12.04 上看到新安装的 Python 2.7.8(精确)
摘要:在我的 Ubuntu 机器上安装了更新的 python 后,一些实用程序无法工作。为什么?
我对 Linux 的唯一经验是 Ubuntu 12.04,到目前为止,我主要依靠 apt-get 来安装软件包(即,对 ./configure && make && sudo make install 的经验很少)。
最新版本的 python 似乎无法通过 apt-get 获得,所以我下载了安装的 python 2.7.8 和你的典型
现在,我对包管理的知识基本上为零,所以考虑到这一点......
无论出于何种原因,我不得不手动将 /usr/bin 中的 python 符号链接替换为对新二进制文件的适当引用(我认为 install 会这样做)。顺便说一句,我的机器上还有 python 2.7.3。
IE
现在,为了准备写一个完全不同的问题,我想确认我的 Ubuntu 版本
但我明白了
我感觉这将在许多实用程序中继续发生,直到我可以告诉我的系统以某种方式查看 ubuntu 安装的(apt-get)python 模块。
例如,我安装了 pip 并且可以正常工作,但是现在如果我输入
是否有一种简单(或没有)的方法来解决所有这些依赖问题?
安装 tk-dev 后,我现在可以使用新的 Python 2.7.8 进行 IDLE 工作(运行)
(以前没有这一步也可以工作)
但是如果我通过右键单击并转到 IDLE打开一个带有 IDLE 的 python 脚本,它就看不到我的 wxPython (wx) 库,我也是新构建的。我也从终端遇到了这个问题,但根据
当我右键单击 python 文件并转到 IDLE 时,如何获得 IDLE 以查看 wx 模块?如果我从终端运行 IDLE,它可以看到 wx 模块(即import wx
有效)。
我知道这个问题到处都是,但我不知道从哪里开始。
谢谢。
可能相关的其他信息:
(这正确地安装了两个版本的 wxPython。)但是这对我来说看起来不一致......
python 模块 lsb_release 的位置是/usr/lib/python2.7/dist-packages
python 似乎正在搜索/usr/local/lib/python2.7/dist-packages
. 我做错了什么?
部分回答
开始理解这个问题,正如预期的那样,这是由于我对 Linux 和 Ubuntu 的工作原理一无所知。
在 Ubuntu 中,管理员通过将给定的与 python 相关的python 模块sudo apt-get install python-module
安装在/usr/local/lib/pythonX.Y/dist-packages
. 当管理员通过相同的方法安装 python程序时,它似乎位于/usr/lib/pythonX.Y/dist-packages
. 例如,当我安装 pip 时,我是通过sudo apt-get install python-pip
. 这创建了目录/usr/lib/python2.7/dist-packages/pip
。当我xlwt
使用 pip 安装时,/usr/local/lib/pythonX.Y/dist-packages/xlwt
会创建一个目录。这可能不是一个硬性规定,但似乎至少 python 模块,当与 apt-get 或 pip 一起安装时,都安装在/usr/local/lib/pythonX.Y/dist-packages
.
这与站点包位置/usr/local/lib/pythonX.Y/site-packages
(/usr/lib/pythonX.Y/site-packages
不存在)形成对比,当管理员手动安装包时添加包,就像我在 wxPython 3.0 中所做的那样(见/usr/local/lib/python2.7/site-packages/wx-3.0-gtk2
上文,与/usr/local/lib/python2.7/dist-packages/wx-2.9.4-gtk2
我安装的特殊说明不同以集成到Ubuntu 的包管理器)。
此处对此进行了描述:
dist-packages 和 site-packages 有什么区别?
/usr/lib
相关的是这里描述的和之间的区别/usr/local/lib
:
/usr/local/lib/python2.6 和 /usr/lib/python2.6 有什么区别?
新安装的 Python 2.7.8 没有“看到”/usr/lib/python2.7/dist-packages/
包含必要模块的目录,lsb_release
因为它没有设置为通过包管理器(通过apt-get
)查看它。由于我手动安装它(即使用./configure && make && make install
)它只看到/usr/local/lib/python2.7/
.
我会删除这个问题,但也许它会对其他新手有所帮助。如果合适,请管理员随时删除。
windows - Chocolatey的正确使用(包更新/版本管理)
注意:此问题适用于 Chocolatey 0.9.8 及以下版本。后来的版本完全从 PowerShell 脚本重写为 C# 应用程序,并且包管理的整个过程得到了很大改进。
我已经使用Chocolatey一段时间了。一开始我很兴奋,但过了一段时间我不确定它是否可以使用。我最关心包更新的正确方式。
例如,我使用Chocolatey安装了Atom编辑器。Atom的新版本发布非常频繁,所以我已经多次更新这个包。然后我注意到我之前安装的所有Atom版本仍然存在于Chocolatey的目录中。Chocolatey实际上并没有更新包。它只是安装旧版本之外的新版本,使用命令或. 目前也没有办法使用Chocolatey卸载以前安装的包,除了最新的包。lib
choco update <package>
choco update all
因此,我想知道使用Chocolatey管理包版本的正确方法是什么。我是否应该手动删除旧版本的包并希望Chocolatey的包目录之外没有依赖项?
或者更确切地说是这样做?
如果我没有使用Chocolatey安装一个包,而是安装了数十个包怎么办?
此外,每个版本的包都位于单独的目录中这一事实会导致各种问题(例如this、this或this)。
我认为这不适合实际使用。或者,也许我错过了一些东西。实际上,我希望我遗漏了一些东西 :) 因为 Windows 上的软件管理多年来一直很痛苦。一团糟。
我会说Chocolatey更像是一个依赖管理器,但它应该是一个包管理器。它标榜自己为“ apt-get
for Windows”并且apt-get
是一个包管理器。包管理器(如Chocolatey或)和依赖管理器(如apt-get
or )之间存在很大差异。这两种方法中的每一种都适用于不同的目的。谁需要同时使用不同版本的 Git、Atom、VLC 媒体播放器、Chrome 等?brew
npm
bower
例如,这里和这里也讨论了它,但一年中没有任何变化。似乎应该在用 C# 而不是 PowerShell 编写的新客户端中解决它,但它还没有发布(应该在 2014 年底之前发布)。在那之前,我看不到Chocolatey的任何附加值。
python - Python 的 pip 是否有像 npm/package.json 这样的项目文件支持?
我刚开始做一个项目,我需要通过 pip 安装很多依赖项。指示是手动完成所有操作。
我之前使用过 nodejs 和 maven,这个过程是自动化的,并且项目之间的依赖关系是隔离的。例如在节点中,我可以在 package.json 中配置所有内容,然后运行 npm install ik 我的项目目录。
点子有类似的东西吗?
c++ - 如何使库与 Linux 打包一起工作?
我是在多个 Linux 打包发行版中分发的 C++ 库的作者。该库包括标题和源代码;Linux 软件包将其分发为头文件 + 共享库 (.so)。
我正在寻找可以使 Linux 软件包维护者的生活更轻松的指南。
我感兴趣的事情包括:
API 兼容性(例如更改函数签名)。显然,保持跨次要版本的兼容性至关重要。主要版本变化如何?
二进制兼容性(例如改变外部可见数据结构的大小)。在次要版本中与 ABI 兼容有多重要?在主要版本中打破它有什么问题吗?
构建版本控制建议。我目前正在使用 CMake - 我应该设置任何特定设置以最大限度地提高包维护人员可以使用我的 CMakeLists.txt 的机会?
如果还有什么我想念的,我也很高兴听到。
python - Allow use of system python in conda env?
Is there a way to force conda to use the system version of python (along with all of the system libraries) in a given env?
I have conda enabled by default in my shell, which can get a bit annoying, because if I try to run a system python app, it gets a different version of python to what it is expecting (python still defaults to 2.7 on *buntu), and often won't run. I would like the root env of conda to just be a redirect to the system python install.
python - 我的 python 版本在“站点包”中有多个版本的包,删除其中一些是否安全?
我有,在/usr/local/lib/python2.7/site-packages
同一个包的多个版本中。
例如,我有django-angular-0.7.13-py2.6.egg
,django-angular-0.7.13-py2.6.egg-info
和django-angular-0.7.13-py2.7.egg
.
删除表面上是错误版本的两个文件是否安全?
当我进入 python 解释器时,导入包/模块,它告诉我它是从<module 'django_angular' from '/usr/local/lib/python2.7/site-packages/django-angular-0.7.13-py2.6.egg/django_angular/__init__.py'>
...运行的
我担心我会无法挽回地损坏我的 python 包,当你把这些东西弄乱时很容易。
关于这个话题,我只能找到这篇文章,但那是特定于 Windows 的,并没有解决同一事物的多个版本。
package-managers - 如何简化我的包管理器堆栈?
我不知道它是怎么变得这么糟糕的。我是一名网络开发人员,我使用 Ubuntu,这里只是我正在使用的一些包管理器。
- apt-get 用于系统范围的软件包
- 用于节点包的 npm
- python包的pip
- 用于 python 3 包的 pip3
- 用于 haskell 包的 cabal
- php包的作曲家
- 前端包的凉亭
- ruby 包的 gem
- git 做其他事情
当我在一个新的虚拟机上开始一个新项目时,我必须从十几个不同的地方安装看似十几个包管理器,并使用它们来创建一个开发环境。这简直是失控了。
我发现我基本上可以通过从 apt 安装 python 包来避免安装和使用 pip/pip3,比如sudo apt-get install python3-some-library
. 这样就不必使用一个包管理器了。棒极了。但是后来我被这些软件包的 Ubuntu 版本所困扰,这些软件包通常很旧。
我想知道的是,是否有一个元包管理器可以帮助我替换其中的一些部分,所以我的开发环境不是那么难以复制?
python - 强制 python2.7 setup.py 安装到 python2.7 而不是 python2.6
我正在尝试将 python 包安装到 python2.7 site-packages 文件夹,但它将其中一些放在 python2.6 site-packages 文件夹中。
我读过这篇文章,不知道如何解决这个问题。快把我逼疯了!
我一直在使用 python2.7 ( /usr/local/bin/python2.7 setup.py install
) 来安装不同的包,其中一个的日志说它已经进入.../python2.6/site-packages
,其他的进入.../python2.7/site-packages
请问有人可以在这里理顺我吗?
android - 从系统应用程序安装 apk 的正确方法?
我正在开发 Kiosk Mode 应用程序,它应该会自动更新另一个应用程序。
第一个应用程序是系统(预安装到 /system/app)。第二个不应该是系统应用程序。
我想从第一个应用程序(首先从服务器下载第二个应用程序)静默更新第二个应用程序。设备上没有超级用户(但第一个应用程序是系统)。
这样做的正确方法是什么?