相关疑难解决方法(0)

如何使用pip卸载可编辑的包(使用-e安装)

我用-e安装了一些软件包

> pip install -e git+https://github.com/eventray/horus.git@2ce62c802ef5237be1c6b1a91dbf115ec284a619#egg=horus-dev
Run Code Online (Sandbox Code Playgroud)

我看到了pip冻结

> pip freeze
...
-e git+https://github.com/eventray/horus.git@2ce62c802ef5237be1c6b1a91dbf115ec284a619#egg=horus-dev
...
Run Code Online (Sandbox Code Playgroud)

当我尝试卸载软件包时出现错误:

> pip uninstall horus-dev
Cannot uninstall requirement horus-dev, not installed

> pip uninstall horus
Cannot uninstall requirement horus, not installed
Run Code Online (Sandbox Code Playgroud)

如何卸载这样的包?

uninstall pip

84
推荐指数
6
解决办法
2万
查看次数

删除在开发模式下安装的python模块

嗨我正在尝试使用setuptools进行python打包并测试我是否在开发模式下安装了模块.即

python setup.py develop
Run Code Online (Sandbox Code Playgroud)

这已将我的modules目录添加到sys.path.现在我想删除模块有没有办法做到这一点?

提前致谢

python setuptools

82
推荐指数
2
解决办法
2万
查看次数

PYTHONPATH与sys.path

另一位开发人员和我不同意是否应该使用PYTHONPATH或sys.path来允许Python在用户(例如,开发)目录中查找Python包.

我们有一个具有典型目录结构的Python项目:

Project
    setup.py
    package
        __init__.py
        lib.py
        script.py
Run Code Online (Sandbox Code Playgroud)

在script.py中,我们需要这样做import package.lib.当软件包安装在site-packages中时,script.py可以找到package.lib.

但是,当从用户目录工作时,还需要做其他事情.我的解决方案是将我的PYTHONPATH设置为包含"〜/ Project".另一位开发人员希望将这行代码放在script.py的开头:

sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
Run Code Online (Sandbox Code Playgroud)

这样Python就可以找到本地副本了package.lib.

我认为这是一个坏主意,因为这行只对开发人员或从本地副本运行的人有用,但我不能说明为什么这是一个坏主意.

我们应该使用PYTOHNPATH,sys.path,还是要么?

python python-import pythonpath sys.path

79
推荐指数
6
解决办法
8万
查看次数

导入位于当前文件夹的同级文件中的库

与文件夹结构

lib/
    abcd/
        __init.py__
        lib.py
app.py
Run Code Online (Sandbox Code Playgroud)

代码

from lib.abcd import lib
Run Code Online (Sandbox Code Playgroud)

作品。但是具有以下文件结构:

bin/
    app.py
lib/
    abcd/
        __init.py__
        lib.py
Run Code Online (Sandbox Code Playgroud)

代码

from ..lib.abcd import lib     
Run Code Online (Sandbox Code Playgroud)

给出导入错误。

import当库位于当前文件夹的同级文件中时,如何正确执行操作?(或同级文件夹的子文件夹)

我知道可能会有一些涉及添加lib/到PATH的黑客,但是是否有一个优雅的Pythonic解决方案?

如果不是,是否有真正的内部原因阻止用户以简单方式执行此简单导入?

python directory import python-import

9
推荐指数
1
解决办法
248
查看次数

如何检测模块是否以“可编辑模式”安装?

我正在像这样点子安装我的模块:

cd my_working_dir
pip install -e .
Run Code Online (Sandbox Code Playgroud)

当我以后从Python导入模块时,是否可以某种方式检测模块是否以这种可编辑模式安装?

现在,我只是检查是否有一个.git文件夹os.path.dirname(mymodule.__file__)),只有在其中确实有一个.git文件夹时,它才起作用。有没有更可靠的方法?

python pip

6
推荐指数
2
解决办法
199
查看次数