问题:点子为何从版本10升级到版本18?
运行pip install
脚本时收到以下警告:
You are using pip version 10.0.1, however version 18.0 is available
这很奇怪。pip项目是否刚刚从版本10升级到版本18?为什么?
运行pip install
脚本时收到以下警告:
You are using pip version 10.0.1, however version 18.0 is available
这很奇怪。pip项目是否刚刚从版本10升级到版本18?为什么?
我试图运行pip install mitmproxy
在Windows,但我不断收到拒绝访问,甚至cmd
和PowerShell
使用Run as Administrator
选项。
WindowsError: [Error 5] Access is denied: 'c:\\users\\bruno\\appdata\\local\\temp\\easy_install-0fme6u\\cryptography-0.9.1\\.eggs\\cffi-1.1.2-py2.7-win-amd64.egg\\_cffi_backend.pyd'
我该如何工作?
如果是Windows,请在cmd中尝试使用python可执行文件运行pip install
例如
python -m pip install mitmproxy
这应该工作,至少对其他软件包安装来说对我有用。
通过以下方式更改Python安装文件夹的安全权限:
如果您cmd
以管理员身份打开;那么您可以执行以下操作:
如果您的中设置了Python PATH
,则:
python -m pip install mitmproxy
我个人发现,以管理员cmd
身份打开然后运行
似乎可以解决我的问题。
python -m pip install mitproxy
注意:-我通过以下方式安装了pythonchocolatey
以前的答案中未涉及的另一件事,尽管以admin身份运行,但通常会在Windows上引起问题,并且使我无法安装某些软件包,如果有另一个程序使用了某些文件,则会得到相同的权限被拒绝错误。 (要么pip install
)尝试访问。这是Windows真正愚蠢的“功能”,它会多次弹出,例如在尝试移动某些文件时。
此外,我不知道如何找出哪个程序锁定了特定文件,因此最简单的方法是在开始任何操作之前,特别是在运行例如Spyder或任何其他基于Python的软件之前,重新引导并进行安装。您也可以尝试关闭所有程序,但是要知道哪个程序实际保存一个文件可能很棘手。例如,对于一个目录,在该目录中打开一个Explorer窗口就足够了。
使用“以管理员身份运行”打开cmd并执行命令pip install mitmproxy
。它将安装它。
因为,我是通过anaconda Prompt安装的。在我的情况下,它甚至都无法使用python -m pip install
然后,我添加了这个
python -m pip install <package_name> --user
这个对我有用。
喜欢: python -m pip install "numpy-1.15.4+mkl-cp36-cp36m-win_amd64.whl" --user
请注意,双引号不是必需的,您可以提供要安装的软件包名称。
另一个您应该尝试以“以管理员身份运行”身份运行命令提示符,然后尝试pip安装。它应该工作。
尝试授予完全控制python文件夹的权限。
找到python根目录->右键单击->属性->安全->编辑->授予用户完全控制权限->是并等待过程完成。
这个对我有用。
尝试c:\\users\\bruno\\appdata\\local\\temp\\easy_install-0fme6u
手动删除文件夹,然后重试pip命令。
打开命令提示符,因为Administrator仅在不使用Python可执行文件的情况下为我工作。右键单击命令提示符快捷方式,然后选择“以管理员身份运行”。然后运行以下命令。
pip install Django
在我的情况下,原因是打开了一个Jupyter笔记本,该笔记本正在导入相关的库。根本原因似乎是Windows错误,原因是该文件处于打开状态/正在使用中(另请参见@Robert的回答以及有关重新启动的建议)。
所以要验证的另一件事是没有其他python进程在运行。
对我来说,关闭笔记本服务器可以解决此问题。
以管理员身份打开命令提示符。
要安装任何Python软件包,请使用包括以下命令--user
。
pip install --ignore-installed --upgrade --user <packagename>
当其他所有方法均失败时,请尝试退出您的IDE。我有很多情况都是PyCharm造成的。退出PyCharm之后,我终于能够从命令行安装我的软件包。另外,您也可以通过PyCharm本身在设置->项目:xxx->项目解释器->中进行安装+。
以管理员身份运行cmd.exe,然后键入:
python -m pip install
我遇到了类似的问题。但是错误报告是关于
[SSL: TLSV1_ALERT_ACCESS_DENIED] tlsv1 alert access denied (_ssl.c:777)
首先,我尝试了此https://python-forum.io/Thread-All-pip-install-attempts-are-met-with-SSL-error#pid_28035,但似乎无法解决我的问题,仍然重复同样的问题。
其次,如果您在商用计算机上工作,通常它可能存在一个Web内容过滤器(但是我可以直接通过浏览器访问 https://pypi.python.org)。并通过添加代理服务器来解决此问题。
对于Windows,请Internet properties
通过IE或Chrome或其他方式打开,然后设置有效的代理地址和端口,这样就可以解决我的问题
或者只是添加该选项pip --proxy [proxy-address]:port install mitmproxy
。但是在通过pypi安装时,您始终需要添加此选项。
以上两种解决方案是您需要的替代方案。
就我而言,它甚至无法与 python -m pip install
我所做的是,以管理员身份通过cmd:
PsExec.exe -i -s -d cmd.exe
为了产生SYSTEM cmd,然后 pip install mitmproxy
;)
只需关闭所有打开的python文件。并尝试以管理员身份运行。会的。
例如
pip install numpy
比较输出结果可发现差异:
user@user-VirtualBox:~$ pip list
feedparser (5.1.3)
pip (1.4.1)
setuptools (1.1.5)
wsgiref (0.1.2)
user@user-VirtualBox:~$ pip freeze
feedparser==5.1.3
wsgiref==0.1.2
Pip的文档状态
freeze Output installed packages in requirements format.
list List installed packages.
但是什么是“需求格式”?为什么pip list
生成的清单比清单更全面pip freeze
?
使用时virtualenv
,可以指定一个requirements.txt
文件来安装所有依赖项。
典型用法:
$ pip install -r requirements.txt
软件包需要采用特定的格式pip
才能理解,即
feedparser==5.1.3
wsgiref==0.1.2
django==1.4.2
...
那就是“要求格式”。
在这里,django==1.4.2
意味着安装django
版本1.4.2
(即使最新版本是1.6.x)。如果您未指定==1.4.2
,则会安装可用的最新版本。
您可以在“ Virtualenv和pip基础知识 ”以及官方的“ Requirements File Format ”文档中阅读更多内容。
为了回答这个问题的第二部分,显示pip list
但没有显示的两个软件包pip freeze
是setuptools
(easy_install)和它们pip
本身。
它看起来像pip freeze
少了点列表软件包点子本身依赖。您可以使用该--all
标志来显示那些软件包。
从文档中:
--all
不要在输出中跳过以下软件包:pip,setuptools,distribute,wheel
主要区别在于可以将的输出pip freeze
转储到requirements.txt文件中,并在以后用于重建“冻结”环境。
换句话说,您可以运行:pip freeze > frozen-requirements.txt
在一台计算机上运行
,然后再在另一台计算机上或干净的环境中运行:
pip install -r frozen-requirements.txt
您将获得与安装原始环境时所安装的依赖项完全相同的相同环境生成了Frozen-requirements.txt。
点列表
列出已安装的软件包,包括可编辑的软件包。
点冻结
以需求格式输出已安装的软件包。
因此有两个区别:
输出格式,freeze
为我们提供了标准的需求格式,以后可以用来pip install -r
安装需求。
输出内容,pip list
包括pip freeze
不包含的可编辑内容。
pip list
显示所有软件包。
pip freeze
示出了包YOU经由安装pip
(或pipenv
如果使用该工具)在要求的格式命令。
在下面说明创建虚拟信封时已安装setuptools,pip,wheelpipenv shell
。这些软件包不是我使用pip
以下软件安装的:
test1 % pipenv shell
Creating a virtualenv for this project…
Pipfile: /Users/terrence/Development/Python/Projects/test1/Pipfile
Using /usr/local/Cellar/pipenv/2018.11.26_3/libexec/bin/python3.8 (3.8.1) to create virtualenv…
⠹ Creating virtual environment...
<SNIP>
Installing setuptools, pip, wheel...
done.
✔ Successfully created virtual environment!
<SNIP>
现在回顾与比较,我已经只安装了相应的命令的输出冷LIB和sampleproject(其中胡椒是一个依赖):
test1 % pip freeze <== Packages I'VE installed w/ pip
-e git+https://github.com/gdamjan/hello-world-python-package.git@10<snip>71#egg=cool_lib
peppercorn==0.6
sampleproject==1.3.1
test1 % pip list <== All packages, incl. ones I've NOT installed w/ pip
Package Version Location
------------- ------- --------------------------------------------------------------------------
cool-lib 0.1 /Users/terrence/.local/share/virtualenvs/test1-y2Zgz1D2/src/cool-lib <== Installed w/ `pip` command
peppercorn 0.6 <== Dependency of "sampleproject"
pip 20.0.2
sampleproject 1.3.1 <== Installed w/ `pip` command
setuptools 45.1.0
wheel 0.34.2
我正在使用Mac OS X Yosemite版本10.10.3。
我在http://johnlaudun.org/20150512-installing-and-setting-pip-with-macports/中使用macport安装了python2.7和pip
我可以成功安装软件包并将其导入我的python环境和python脚本中。但是,找不到与可以从终端中的命令行调用的软件包相关联的可执行文件。
有谁知道可能出什么问题了?(下面有更多详细信息)
例如,按照http://wiki.ros.org/jade/Installation/Source中的指示安装名为“ rosdep”的软件包时
我可以运行:sudo pip install -U rosdep
安装没有错误,并且相应文件位于/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
但是,如果我尝试运行:sudo rosdep init
,则会出现错误:"sudo: rosdep: command not found"
这不是程序包特定的错误。对于在计算机上使用pip安装的所有软件包,我都会得到它。我什至尝试添加
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
对我的$PATH
。但是,即使这些程序包可以在python内正常运行,也无法在命令行上找到可执行文件。
检查您的$ PATH
tox
具有命令行模式:
audrey:tests jluc$ pip list | grep tox
tox (2.3.1)
它在哪里?
(编辑:这里的2.7
东西没什么大不了的,无论是sub 3.x
还是pip的行为都差不多)
audrey:tests jluc$ which tox
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/tox
我的$ PATH中有什么?
audrey:tests jluc$ echo $PATH
/opt/chefdk/bin:/opt/chefdk/embedded/bin:/opt/local/bin:..../opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin...
注意/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin吗?这就是找到我点子安装的东西的原因
现在,看到那里的东西都是从Python中,尝试这样做(替代rosdep
的tox
)。
$python
>>> import tox
>>> tox.__file__
打印出来:
'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tox/__init__.pyc'
现在,将cd转到上面上方的目录lib
。您看到bin目录吗?你看到rosdep
那个垃圾箱了吗?如果是这样,请尝试将添加bin
到您的$ PATH中。
audrey:2.7 jluc$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7
audrey:2.7 jluc$ ls -1
输出:
Headers
Python
Resources
bin
include
lib
man
share
在具有默认python安装的macOS上,您需要添加/Users/<you>/Library/Python/2.7/bin/
到$ PATH中。
将此添加到您的.bash_profile:
export PATH="/Users/<you>/Library/Python/2.7/bin:$PATH"
这就是pip安装可执行文件的地方。
提示:对于非默认的python版本which python
,请找到您的python安装位置,并在上面的路径中替换该部分。(感谢提示Sanket_Diwale)
如果您使用--user
(例如pip3.6 install --user tmuxp
)进行安装,则可以使用site
module 从Python本身获取特定于平台的用户安装目录。例如,在macOS上:
$ python2.7 -m site --user-base
/Users/alexp/Library/Python/2.7
通过附加/bin
此内容,我们现在有了安装包可执行文件的路径。我们可以根据输出动态在您的Shell的rc文件中填充PATH;我正在使用bash,但是幸运的是,它是可移植的:
# Add Python bin directories to path
python3.6 -m site &> /dev/null && PATH="$PATH:`python3.6 -m site --user-base`/bin"
python2.7 -m site &> /dev/null && PATH="$PATH:`python2.7 -m site --user-base`/bin"
我使用精确的Python版本来减少当Python将次版本(例如从3.5升级到3.6)升级时可执行文件“消失”的机会。它们将消失,因为如上所示,用户安装路径可能包括Python版本。因此,虽然python3
可能指向3.5或3.6,但python3.6
始终将指向3.6。在安装其他软件包时,例如pip3.6
在over上使用时,请记住这一点pip3
。
如果您不介意软件包消失的想法,可以使用python2
和python3
代替:
# Add Python bin directories to path
# Note: When Python is upgraded, packages may need to be re-installed
# or Python versions managed.
python3 -m site &> /dev/null && PATH="$PATH:`python3 -m site --user-base`/bin"
python2 -m site &> /dev/null && PATH="$PATH:`python2 -m site --user-base`/bin"
我知道问题是关于macOS的,但是这是通过Google到达Linux的Linux用户的解决方案。
我已经通过pip 安装了pdfx软件包,因此遇到了这个问题中描述的问题。
但是,当我运行它时,什么都没有…
pip list | grep pdfx
pdfx (1.3.0)
然而:
which pdfx
pdfx not found
在Linux上的问题是 pip install ...
将脚本放入其中~/.local/bin
,而不是默认的Debian / Ubuntu上的脚本$PATH
。
以下是GitHub问题的详细信息: https //github.com/pypa/pip/issues/3813
要解决此问题,只需将添加~/.local/bin
到$PATH
,例如,将以下行添加到.bashrc
文件中:
export PATH="$HOME/.local/bin:$PATH"
在那之后,重新启动您的外壳,一切应该按预期进行。
基于其他的答案,对linux
和mac
您可以运行以下命令:
echo "export PATH=\"`python3 -m site --user-base`/bin:$PATH\"" >> ~/.bashrc
source ~/.bashrc
而不是python3
你可以使用任何其他链接到Python版本:python
,python2.7
,python3.6
,python3.9
,等。
为了知道用户软件包在当前操作系统(win,mac,linux)中的安装位置,我们运行:
python3 -m site --user-base
我们知道脚本会转到bin/
安装软件包的文件夹。
因此,我们将路径连接起来:
echo `python3 -m site --user-base`/bin
然后我们将其导出到环境变量。
export PATH=\"`python3 -m site --user-base`/bin:$PATH\""
最后,为了避免重复执行export命令,我们将其添加到.bashrc
文件中,然后运行source
以运行新更改,从而为我们提供了开头提到的建议解决方案。
在Windows上,您需要将路径添加%USERPROFILE%\AppData\Roaming\Python\Scripts
到您的路径。
我偶然发现了这个问题,因为我创建,成功构建并发布了一个PyPI软件包,但安装后无法执行。该$PATH
变量被设置正确。
就我而言,问题是我没有entry_point
在setup.py
文件中设置:
entry_points = {'console_scripts':
['YOUR_CONSOLE_COMMAND=MODULE_NAME.FILE_NAME:FUNCTION_NAME'],},
除了将python的bin
目录添加到$PATH
变量之外,我还必须更改该目录的所有者以使其正常运行。不知道为什么我还不是所有者。
chown -R ~/Library/Python/
当您使用MacOS安装程序(可从Python网站下载)安装Python或Python3时,它将export
在~/.profile
脚本中添加er 。您只需要做source
。重新启动所有终端也可以解决问题。
警告-我认为最好将pip3与Python3配合使用-以获取未来的收益。
如果您已经安装了Python3,则以下步骤可在macOS Mojave上为我工作:
首先使用sudo
– 安装ansiblesudo -H pip3 install ansible
您创建到Python bin
路径的符号链接
sudo ln -s /Library/Frameworks/Python.framework/Versions/Current/bin /Library/Frameworks/Python.framework/current_python_bin
并装订到 .profile
export PATH=$PATH:/Library/Frameworks/Python.framework/current_python_bin
运行source ~/.profile
并重新启动所有终端外壳。
类型 ansible --version
有人可以告诉我如何在最新版本的Python上安装sqlite3模块吗?我正在使用Macbook,并在命令行上尝试了:
pip install sqlite
但是会弹出一个错误。
您不需要安装sqlite3
模块。它包含在标准库中(自Python 2.5起)。
我有python 2.7.3,这解决了我的问题:
pip install pysqlite
对于Python版本3:
pip install pysqlite3
通常包括在内。但是,正如@ ngn999所说,如果您的python是从源代码手动构建的,则必须添加它。
这是一个脚本示例,该脚本将在用户目录中使用sqlite3的封装版本设置Python3的封装版本(虚拟环境)。
INSTALL_BASE_PATH="$HOME/local"
cd ~
mkdir build
cd build
[ -f Python-3.6.2.tgz ] || wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
tar -zxvf Python-3.6.2.tgz
[ -f sqlite-autoconf-3240000.tar.gz ] || wget https://www.sqlite.org/2018/sqlite-autoconf-3240000.tar.gz
tar -zxvf sqlite-autoconf-3240000.tar.gz
cd sqlite-autoconf-3240000
./configure --prefix=${INSTALL_BASE_PATH}
make
make install
cd ../Python-3.6.2
LD_RUN_PATH=${INSTALL_BASE_PATH}/lib configure
LDFLAGS="-L ${INSTALL_BASE_PATH}/lib"
CPPFLAGS="-I ${INSTALL_BASE_PATH}/include"
LD_RUN_PATH=${INSTALL_BASE_PATH}/lib make
./configure --prefix=${INSTALL_BASE_PATH}
make
make install
cd ~
LINE_TO_ADD="export PATH=${INSTALL_BASE_PATH}/bin:\$PATH"
if grep -q -v "${LINE_TO_ADD}" $HOME/.bash_profile; then echo "${LINE_TO_ADD}" >> $HOME/.bash_profile; fi
source $HOME/.bash_profile
为什么这样 对于独立的开发环境,您可能需要一个模块化的python环境,您可以在不影响操作系统的情况下完全销毁和重建它。在这种情况下,解决方案就是也要模块化安装sqlite3。
使用pip install
了显然与Python2.7.11+我的Ubuntu 16.04系统中的任何模块抛出这个错误:
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'
点子有什么问题?如有必要,如何重新安装?
更新:下面是完整的追溯
sunny@sunny:~$ pip install requests
Collecting requests
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 209, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 328, in run
wb.build(autobuilding=True)
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 748, in build
self.requirement_set.prepare_files(self.finder)
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 360, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 512, in _prepare_file
finder, self.upgrade, require_hashes)
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 273, in populate_link
self.link = finder.find_requirement(self, upgrade)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 442, in find_requirement
all_candidates = self.find_all_candidates(req.name)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 400, in find_all_candidates
for page in self._get_pages(url_locations, project_name):
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 545, in _get_pages
page = self._get_page(location)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 648, in _get_page
return HTMLPage.get_page(link, session=self.session)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 757, in get_page
"Cache-Control": "max-age=600",
File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 480, in get
return self.request('GET', url, **kwargs)
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 378, in request
return super(PipSession, self).request(method, url, *args, **kwargs)
File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 468, in request
resp = self.send(prep, **send_kwargs)
File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "/usr/share/python-wheels/CacheControl-0.11.5-py2.py3-none-any.whl/cachecontrol/adapter.py", line 46, in send
resp = super(CacheControlAdapter, self).send(request, **kw)
File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/adapters.py", line 376, in send
timeout=timeout
File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 610, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/util/retry.py", line 228, in increment
total -= 1
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'
Ubuntu附带了前寒武纪的PIP版本,如果您不想花费数小时来调试与pip相关的问题,则必须升级它。
apt-get remove python-pip python3-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
python3 get-pip.py
如您所见,我提供了有关Python 2.x和3.x的信息
如果您使用代理,则必须先执行一些额外的配置步骤,然后再开始安装。您必须将环境变量http_proxy设置为代理地址。使用bash可以通过以下命令完成
export http_proxy="http://user:pass@my.site:port/"
您还可以提供
--proxy=[user:pass@]url:port
点的参数。该[user:pass@]
部分是可选的。
更新setuptools对我来说效果很好。
sudo pip install --upgrade setuptools
首先,由于网络问题而存在此问题,并且卸载和重新安装所有内容都不会有太大帮助。可能您落后于代理,在这种情况下,您需要设置代理。
但就我而言,我面临的问题是因为我没有落后于代理人。通常,我在代理后面工作,但是在家工作时,我在“网络”设置中将代理设置为“无”。
但是即使删除代理设置后,我仍然遇到相同的错误。
所以,当我输入
env | grep proxy
我发现了这样的事情:
http_proxy=http://127.0.0.1:1234/
这就是即使我以为我删除了代理设置,我仍然遇到同样错误的原因。
要取消设置此代理,请输入
unset http_proxy
对于所有其他条目(例如https_proxy),请采用相同的方法。
这里发生的是,在两个不同的位置(相同的代码,但名称不同)导入时,request / urllib3的供应商版本发生冲突。如果随后出现网络错误,它不会重试,但是会因上述错误而失败。请参阅此处,深入了解此错误。
有关使用系统点的解决方案,请参见上文。
如果您在由谁构建的virtualenv中有此问题python -m venv
(/usr/share/python-wheels
即使您单独安装了pip,它仍然会从复制车轮),“修复”的最简单方法似乎是:
/usr/bin/python3.6 -m venv ...
requests
到环境中(这可能会引发上述错误):<venv>/bin/pip install requests
requests
pip将使用的复制版本:rm <venv>/share/python-wheels/{requests,chardet,urllib3}-*.whl
现在,a <venv>/bin/pip
使用requests
已提供urllib3的已安装版本。
端口443未打开,如果在AWS上,则允许自定义tcp端口443,否则打开出站连接的端口443 …
只是升级点对我有用:
pip install --upgrade pip
使用pitft.sh / adafruit-pitft.sh从Adafruit安装RaspberryPI TFT时,我遇到同样的问题。
我不满意编码样式的错误,该错误来自某个地方,可以以某种方式解释-如前面的答案所示。
备注:的类型错误异常retry.py显然是一个错误,所造成的类的实例的unappropriate assignement和计算回复到INT与默认值10 -在代码的某个地方……应该是固定的通过添加就地运算符或修正错误的分配。
因此,尝试首先分析和修补错误本身。在我的案例中,实际的错误是pip调用的相同的-retry.py。
安装脚本adafruit-pitft.sh / pitft.sh尝试应用urllib3,后者本身尝试通过pip安装嵌套的依赖项,因此出现相同的错误。
adafruit-pitft.sh#或pitft.sh
…
_stacktrace = sys.exc_info()[2])文件“ /usr/share/python-wheels/urllib3-1.13.1-py2.py3 none-any.whl / urllib3 / util / retry.py”,第228行,增量
总计-= 1
TypeError:-=:“重试”和“ int”的不受支持的操作数类型
对于当前发行版(基于debian-9.6.0 / stretch):
文件“ /usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/util/retry.py”,行315,增量
总计-= 1
TypeError:-=:“重试”和“ int”的不受支持的操作数类型
以下-脏* :)-修补程序启用探测错误跟踪:
# File: retry.py - in *def increment(self, ..* about line 315
# original: total = self.total
# patch: quick-and-dirty-fix
# START:
if isinstance(self.total, Retry):
self.total = self.total.total
if type(self.total) is not int:
self.total = 2 # default is 10
# END:
# continue with original:
total = self.total
if total is not None:
total -= 1
connect = self.connect
read = self.read
redirect = self.redirect
cause = 'unknown'
status = None
redirect_location = None
if error and self._is_connection_error(error):
# Connect retry?
if connect is False:
raise six.reraise(type(error), error, _stacktrace)
elif connect is not None:
connect -= 1
带有临时补丁的声音输出为(显示两次…?):
连接被’ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at /
连接被’ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at /
找不到满足evdev要求的版本(来自版本:)
找不到与evdev匹配的分布
警告:Pip无法安装软件!
因此,就我而言,实际上是由两件事引起的错误,这在其他环境中可能会有所不同:
我的安装环境是从内部debian + raspbian镜像脱机的,因此不想设置代理…
所以我着手手动安装缺少的组件evdev:
从PyPI下载evdev(或例如从github.com下载):
以root用户身份解压缩并手动安装-对于所有本地帐户,因此被检测为已安装:
苏多苏-
tar xf evdev-1.1.2.tar.gz
光盘evdev-1.1.2
python setup.py安装
再次调用安装脚本:
adafruit-pitft.sh#或pitft.sh
回答对话
…而已。
如果您通过直接PyPI访问进行在线操作:
检查您的路由和防火墙以访问pypi.org
根据需要设置代理(http_proxy / https_proxy)
而且有效。
希望这在其他情况下也有帮助。
阿尔诺·坎·乌斯图恩斯
另请参阅:问题-35334:https://bugs.python.org/issue35334
现在另请参阅:问题-1486:https : //github.com/urllib3/urllib3/issues/1486
用于文件:https : //github.com/urllib3/urllib3/blob/master/src/urllib3/util/retry.py
就我而言,我使用的是自定义索引,该索引没有路由,因此会触发异常案例代码。异常情况错误仍然存在,并且仍然掩盖了实际问题,但是我能够通过测试与其他工具的连接性来解决此问题,例如nc -vzw1 myindex.example.org 443
在网络启动时重试。
尝试在ec2实例上安装awscli工具时遇到了类似的问题。我更改了安全组,以允许端口443入站和出站访问,这为我解决了这个问题。
尝试创建virtualenv
with命令时收到此错误virtualenv myVirtualEnv
。我只是sudo
在命令前添加了一个;它解决了一切。
解决方案:
1. sudo apt remove python-pip
2. pip3 install pip
(或通过get-pip.py安装pip )
原因:
此错误发生在apt-get安装的pip 8.0.1上。并且仅在您的网络不稳定时才发生。
如果您安装了带有apt的pip,则它将以其他方式隐藏您安装的pip,因此您应该首先删除该apt。
我断开了网络连接,并测试了通过pip3或get-pip.py安装的3个版本的8.0.1、9.0.3、10.x,没有发生错误。因此,我认为只有apt版本的pip 8.0.1才有该错误,其他都可以。
就我而言,我以sudo模式打开了Pycharm,并在pycharm终端中运行了pip install nltk,该错误显示了此错误。使用sudo pip install运行可解决该错误。
我也有这个问题。最初,已设置代理,并且可以正常工作。然后,我连接到不通过代理的网络。取消设置代理点后,即可再次使用。
unset http_proxy; unset http_prox; unset HTTP_PROXY; unset HTTPS_PROXY
奇怪的是,如果我从环境中删除代理并将其添加到命令行,那么它对我有用。例如要pip
自我升级:
env http_proxy= https_proxy= pip install pip --upgrade --proxy 'http://proxy-url:80'
我的问题是在环境中使用代理。看来,点子只是在参数中尊重那个人。
这是我发现的此问题的有效解决方案。
sudo apt-get clean
cd /var/lib/apt
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get clean
sudo apt-get update
对我自己来说,原来wlan0掉了下来,这导致我无法连接。因此,确保wlan0启动,允许pip / pip3正常工作。
我尝试了上面回答的解决方案:
apt-get remove python-pip python3-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
python3 get-pip.py
当我尝试
python get-pip.py
python3 get-pip.py
我收到此消息
Could not install packages due to an EnvironmentError:
[Errno 13] Permission denied: /usr/bin/pip3 Consider using the --user
option or check the permissions.
我做了以下工作
python3 -m venv env
source ./env/bin/activate
Sudo apt-get update
apt-get remove python-pip python3-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
python3 get-pip.py
pip3 install pip
sudo easy_install pip
pip install --upgrade pip
我正在尝试在新的virtualenv中安装matplotlib。
当我做:
pip install matplotlib
要么
pip install http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.0/matplotlib-1.1.0.tar.gz
我收到此错误:
building 'matplotlib._png' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -fPIC - DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/usr/local/include -I/usr/include -I. -I/home/sam/django-projects/datazone/local/lib/python2.7/site-packages/numpy/core/include -I. -I/usr/include/python2.7 -c src/_png.cpp -o build/temp.linux-x86_64-2.7/src/_png.o
src/_png.cpp:10:20: fatal error: png.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1
有人知道发生了什么吗?
任何帮助,不胜感激。
构建Matplotlib需要libpng
(freetype
以及)不是python库,因此pip
无法处理(或freetype
)安装它。
您需要按照libpng-devel
和freetype-devel
(或与您的操作系统等效的其他方式)安装一些东西。
请参阅matplotlib 的构建要求/说明。
要生成png格式的图形,您需要安装以下依赖包
sudo apt-get install libpng-dev
sudo apt-get install libfreetype6-dev
Ubuntu https://apps.ubuntu.com/cat/applications/libpng12-0/ 或使用以下命令
sudo apt-get install libpng12-0
由于我两次都在这个问题上苦苦挣扎(即使在全新安装kubuntu 15.04之后),而安装freetype也解决不了任何问题,因此我进行了进一步调查。
解决方案:
来自github问题:
仅当未安装pkg-config时,才会发生此错误;
现在,简单的操作
sudo apt-get install pkg-config
将支持包含路径。
安装完成后顺利进行。
作为补充,在Amazon EC2上,我需要做的是:
sudo yum install freetype-devel
sudo yum install libpng-devel
sudo pip install matplotlib
在OSX上,我可以通过以下方式安装matplotlib:
pip install matplotlib==1.4.0
只有在我跑完之后:
brew install freetype
在Windows下,这对我有用:
python -m pip install -U pip setuptools
python -m pip install matplotlib
sudo apt-get install libpng-dev libjpeg8-dev libfreetype6-dev
在Ubuntu 14.04上为我工作
以上答案均不适用于Mint,因此我做到了:
sudo apt-get install build-essential g++
如果在MacOSx上尝试
xcode-select --install
这符合subprocess 32
,失败的原因。
要减少安装所需的软件包,您只需要
apt-get install -y \
libfreetype6-dev \
libxft-dev && \
pip install matplotlib
您将在本地安装以下软件包
Collecting matplotlib
Downloading matplotlib-2.2.0-cp35-cp35m-manylinux1_x86_64.whl (12.5MB)
Collecting pytz (from matplotlib)
Downloading pytz-2018.3-py2.py3-none-any.whl (509kB)
Collecting python-dateutil>=2.1 (from matplotlib)
Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB)
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib)
Downloading pyparsing-2.2.0-py2.py3-none-any.whl (56kB)
Requirement already satisfied: six>=1.10 in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages (from matplotlib)
Collecting cycler>=0.10 (from matplotlib)
Downloading cycler-0.10.0-py2.py3-none-any.whl
Collecting kiwisolver>=1.0.1 (from matplotlib)
Downloading kiwisolver-1.0.1-cp35-cp35m-manylinux1_x86_64.whl (949kB)
Requirement already satisfied: numpy>=1.7.1 in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages (from matplotlib)
Requirement already satisfied: setuptools in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg (from kiwisolver>=1.0.1->matplotlib)
Installing collected packages: pytz, python-dateutil, pyparsing, cycler, kiwisolver, matplotlib
Successfully installed cycler-0.10.0 kiwisolver-1.0.1 matplotlib-2.2.0 pyparsing-2.2.0 python-dateutil-2.6.1 pytz-2018.3
另一个选择是安装anaconda,该软件包随附以下软件包:Matplotlib,numpy和pandas。
我的空闲状态抛出错误,并指出tkinter
无法导入。
有没有一种简单的方法可以tkinter
通过pip
或安装easy_install
?
似乎有很多软件包名称在出现……
此版本以及其他各种各样的版本tkinter-pypy
均无效。
pip install python-tk
我在Windows上使用python 2.7,不能apt-get
。
谢谢。
好吧,我可以在这里看到两个解决方案:
1)按照适用于Python的Docs-Tkinter安装(适用于Windows):
所有标准的Python发行版都包含Tkinter(以及从Python 3.1开始的ttk)。使用支持Tk 8.5或更高版本以及ttk的Python版本很重要。我们建议从ActiveState安装“ ActivePython”发行版,其中包括您需要的所有内容。
在您的Web浏览器中,转到Activestate.com,然后按照链接下载Windows版ActivePython社区版。确保您下载的是3.1或更高版本,而不是2.x版本。
运行安装程序,然后继续。最后,您将获得一个全新的ActivePython安装,例如位于C:\python32
。在Windows命令提示符或“开始”菜单的“运行…”命令中,您应该能够通过以下方式运行Python Shell:
% C:\python32\python
这应该给您Python命令提示符。在提示符下,输入以下两个命令:
>>> import tkinter
>>> tkinter._test()
这应该会弹出一个小窗口。窗口顶部的第一行应显示“这是Tcl / Tk版本8.5”;确保它不是8.4!
2)卸载64位Python,然后安装32位Python。
Tkinter库在每个Python安装中都是内置的。而且由于您使用的是Windows,我相信您是通过Python的网站上的二进制文件安装的吗?
如果是这样,那么很可能您输入的命令是错误的。它应该是:
import Tkinter as tk
注意Tkinter开头的大写字母T。
对于Python 3,
import tkinter as tk
如果您使用virtualenv,则可以使用sudo apt-get install python-tk
(python2),sudo apt-get install python3-tk
(python3)安装tkinter,并且在虚拟环境中也可以正常工作
当您为Windows安装python时,请使用标准选项或安装它要求的所有内容。我收到错误消息是因为我取消选择了tcl。
在Linux中也有同样的问题。这解决了。(我正在使用Debian 9衍生的本生氦气)
$ sudo apt-get install python3-tk
我发布的是最佳答案,重新引用了我认为没有用的文档。
如果您在安装窗口中选择了tkinter,则会在Windows IFF上将python install打包在一起。
解决方法是修复安装(通过卸载GUI即可),然后选择安装tk。在此过程中,您可能需要指向或重新下载二进制文件。直接从activestate下载对我不起作用。
这是人们在Windows上经常遇到的问题,因为如果您不知道TCL / TK是什么,很容易不想安装它,但是Matplotlib等需要它。
在python中,Tkinter是默认软件包,您可以修复安装并选择Tcl / Tk。
我在Win-8和python-3.4 32位上也遇到了类似的问题,可以通过从python.org下载相同版本来解决。
下一步将是点击修复按钮并安装Tk / tkinter软件包,或者只是修复。现在应该获得Python34 / Lib / tkinter模块。导入tkinter应该工作..
在内部cmd
,运行命令pip install tk
和Tkinter应该安装。
最简单的方法:
cd C:\Users\%User%\AppData\Local\Programs\Python\Python37\Scripts>
pip install pythonds
如果您使用的是python 3.4.1,则只需编写此行,from tkinter import *
这会将模块中的所有内容放入程序的默认命名空间。实际上,不是像tkinter.Button
您说的那样说一个按钮Button
在我的MacOS Mojave终端中,我想使用pip安装python软件包。最后说:
You are using pip version 10.0.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
所以我想用给定的命令更新点子,但出现错误:
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied:
'/Library/Python/2.7/site-packages/pip-18.0-py2.7.egg/EGG-INFO/PKG-INFO'
Consider using the `--user` option or check the permissions.
我真的不知道该怎么办。我也意识到它在错误消息中说Python 2.7,但是我已经并且只想使用python 3。
如果要使用python3 +安装软件包,则需要使用pip3 install package_name
要解决errno 13,您必须--user
在末尾添加
pip3 install package_name --user
编辑:
对于python中的任何项目,强烈建议在Virtual enviroment上工作,该工具可通过为它们创建隔离的python虚拟环境来帮助将不同项目所需的依赖项分开。
为了使用python3 +创建一个,您必须使用以下命令:
virtualenv enviroment_name -p python3
然后只需激活它就可以对其进行处理:
source enviroment_name/bin/activate
激活虚拟环境后,虚拟环境的名称将显示在终端的左侧。这将使您知道虚拟环境当前处于活动状态。现在,您只需使用即可在该虚拟环境中安装与项目相关的依赖项pip
。
pip install package_name
关于权限命令,请尝试在终端命令前使用sudo:
sudo pip install --upgrade pip
Sudo允许您使用超级用户的特权运行命令,并将为全局,系统范围的Python安装安装软件包。理想情况下,您应该为正在处理的项目创建一个虚拟环境。看看这个
关于python尝试将pip作为可执行文件运行,如下所示:
python3.6 -m pip install <package>
我犯了同样的错误,然后意识到我已经以root用户身份创建了虚拟环境。它已被写保护,因此请检查您的虚拟环境是否被写保护。制作新的venv,然后重试
尝试安装软件包时(烧瓶类),我遇到了相同的错误。
我犯了以root身份安装anaconda的错误。我更改了已安装的anaconda文件夹的所有权,并且可以成功安装该软件包。
使用chown
带选项的命令-R
来递归地更改已安装的anaconda文件夹的所有权,如下所示:
chown -R owner:group /path/to/anaconda
在这里所有者是您的用户名,组是组名。
答案在错误消息中。过去,您或某个进程执行sudo pip
,并且导致该目录下的某些目录/Library/Python/2.7/site-packages/...
具有权限,导致当前用户无法访问该目录。
然后您做了一个pip install whatever
依赖另一件事的。
因此,要对其进行修复,请访问/Library/Python/2.7/site-packages / …并找到具有root或not-your-user权限的目录,然后删除然后重新安装这些软件包,或者只是强制对用户拥有所有权应该接触的人。
使用进行安装时numpy
,我遇到了同样的问题pip install numpy
。
然后我尝试
sudo -H pip3 install --upgrade pip
sudo -H pip3 install numpy
对我来说效果很好。
说明:
该-H
带(HOME)选项sudo
设置HOME环境变量设置为目标用户(root默认情况下)的主目录。默认情况下,sudo不会修改HOME。
这为我工作:
python3 -m venv env
source ./env/bin/activate
python -m pip install package
(来自Github:https : //github.com/googlesamples/assistant-sdk-python/issues/236)
我已经尝试过此处发布的所有建议,但仍收到errno 13
我正在使用Windows,而我的python版本是3.7.3
经过5小时的尝试解决后,此步骤对我有用:
我尝试以管理员身份运行以打开命令提示符
我也遇到了同样的问题,我尝试了许多不同的命令行,这对我有用:
尝试:
conda install py-xgboost
那就是我得到的:
Collecting package metadata: done
Solving environment: done
## Package Plan ##
environment location: /home/simplonco/anaconda3
added / updated specs:
- py-xgboost
The following packages will be downloaded:
package | build
---------------------------|-----------------
_py-xgboost-mutex-2.0 | cpu_0 9 KB
ca-certificates-2019.1.23 | 0 126 KB
certifi-2018.11.29 | py37_0 146 KB
conda-4.6.2 | py37_0 1.7 MB
libxgboost-0.80 | he6710b0_0 3.7 MB
mkl-2019.1 | 144 204.6 MB
mkl_fft-1.0.10 | py37ha843d7b_0 169 KB
mkl_random-1.0.2 | py37hd81dba3_0 405 KB
numpy-1.15.4 | py37h7e9f1db_0 47 KB
numpy-base-1.15.4 | py37hde5b4d6_0 4.2 MB
py-xgboost-0.80 | py37he6710b0_0 1.7 MB
scikit-learn-0.20.2 | py37hd81dba3_0 5.7 MB
scipy-1.2.0 | py37h7c811a0_0 17.7 MB
------------------------------------------------------------
Total: 240.0 MB
The following NEW packages will be INSTALLED:
_py-xgboost-mutex pkgs/main/linux-64::_py-xgboost-mutex-2.0-cpu_0
libxgboost pkgs/main/linux-64::libxgboost-0.80-he6710b0_0
py-xgboost pkgs/main/linux-64::py-xgboost-0.80-py37he6710b0_0
The following packages will be UPDATED:
ca-certificates anaconda::ca-certificates-2018.12.5-0 --> pkgs/main::ca-certificates-2019.1.23-0
mkl 2019.0-118 --> 2019.1-144
mkl_fft 1.0.4-py37h4414c95_1 --> 1.0.10-py37ha843d7b_0
mkl_random 1.0.1-py37h4414c95_1 --> 1.0.2-py37hd81dba3_0
numpy 1.15.1-py37h1d66e8a_0 --> 1.15.4-py37h7e9f1db_0
numpy-base 1.15.1-py37h81de0dd_0 --> 1.15.4-py37hde5b4d6_0
scikit-learn 0.19.2-py37h4989274_0 --> 0.20.2-py37hd81dba3_0
scipy 1.1.0-py37hfa4b5c9_1 --> 1.2.0-py37h7c811a0_0
The following packages will be SUPERSEDED by a higher-priority channel:
certifi anaconda --> pkgs/main
conda anaconda --> pkgs/main
openssl anaconda::openssl-1.1.1-h7b6447c_0 --> pkgs/main::openssl-1.1.1a-h7b6447c_0
Proceed ([y]/n)? y
Downloading and Extracting Packages
libxgboost-0.80 | 3.7 MB | ##################################### | 100%
mkl_random-1.0.2 | 405 KB | ##################################### | 100%
certifi-2018.11.29 | 146 KB | ##################################### | 100%
ca-certificates-2019 | 126 KB | ##################################### | 100%
conda-4.6.2 | 1.7 MB | ##################################### | 100%
mkl-2019.1 | 204.6 MB | ##################################### | 100%
mkl_fft-1.0.10 | 169 KB | ##################################### | 100%
numpy-1.15.4 | 47 KB | ##################################### | 100%
scipy-1.2.0 | 17.7 MB | ##################################### | 100%
scikit-learn-0.20.2 | 5.7 MB | ##################################### | 100%
py-xgboost-0.80 | 1.7 MB | ##################################### | 100%
_py-xgboost-mutex-2. | 9 KB | ##################################### | 100%
numpy-base-1.15.4 | 4.2 MB | ##################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
在MacOS上尝试以下命令行,以检查用户的权限。
$ sudo python -m pip install --user --upgrade pip
我为Python 3安装了anaconda。我的mac也有Python2。
python --version
给我
的Python 3.7.3
python2.7 --version
给我
Python 2.7.10
我想在python2中安装pyspark软件包,因为它已经安装在python3中。
python2.7 -m pip install pyspark
给我一个错误
由于环境错误而无法安装软件包:[Errno 13]权限被拒绝:’/Library/Python/2.7/site-packages/pyspark’考虑使用该
--user
选项或检查权限。
下面的命令解决了它。谢谢上帝,我不必做任何配置更改。
python2.7 -m pip install pyspark --user
收集pyspark的要求已经满足:/Library/Python/2.7/site-packages中的py4j == 0.10.7(来自pyspark)(0.10.7)安装收集的软件包:pyspark成功安装pyspark-2.4.4您正在使用pip版本18.1。 ,但是版本19.3.1可用。您应该考虑通过“ pip install –upgrade pip”命令进行升级。
我在具有所有正确权限的linux上已安装NTFS分区上的venv中遇到了类似的麻烦。确保使用–ignore-installed运行了pip可以解决该问题,即:
python -m pip install --upgrade --ignore-installed
在Mac上,没有3.7
目录,或者目录3.7
归拥有root
。因此,我删除了该目录,由当前用户创建了一个新目录,并将其移至该目录。然后安装完成,没有错误。
sudo rm -rf /Library/Python/3.7
mkdir 3.7
sudo mv 3.7 /Library/Python
ll /Library/Python/
pip3 install numpy
只是 sudo pip install packagename
我有一个要从tar文件安装到python virtualenv中的外部软件包。安装软件包的最佳方法是什么?
我发现了两种方法可以做到这一点:
python setup.py install
在提取的目录中运行。pip install packagename.tar.gz
来自https://pip.pypa.io/en/stable/reference/pip_install/#examples中的示例7这两种方式在做上是否有区别。
从表面上看,都做同样的事情:无论是做python setup.py install
还是pip install <PACKAGE-NAME>
会安装Python包的你,有大惊小怪的最低金额。
但是,使用pip具有一些其他优点,使其更易于使用。
setup.py
,则通常必须手动搜索并下载依赖项,这很乏味并且会令人沮丧。pip uninstall <PACKAGE-NAME>
和pip install --upgrade <PACKAGE-NAME>
。相反,如果您使用setup.py
,则要想摆脱它,必须手动手动删除和维护该软件包,这可能容易出错。setup.py
,则必须访问图书馆的网站,弄清楚从哪里下载,提取文件,运行setup.py
…相比之下,pip会自动搜索Python软件包索引(PyPi)来查看该软件包是否存在,以及会自动为您下载,解压缩并安装该软件包。除了少数exceptions,几乎所有真正有用的Python库都可以在PyPi上找到。virtualenv
,该程序使您可以运行多个项目,这些项目需要计算机上具有冲突的库和Python版本。更多信息。因此,基本上,使用点子。它仅提供对的改进python setup.py install
。
如果您使用的是旧版本的Python,无法升级且未安装pip,则可以在以下链接中找到有关安装pip的更多信息:
pip本身并不需要教程。90%的时间,您真正需要的唯一命令是pip install <PACKAGE-NAME>
。就是说,如果您想了解更多有关pip的功能的详细信息,请参阅:
通常也建议同时使用pip和virtualenv。如果您是Python的初学者,我个人认为最好只使用pip并在全球范围内安装软件包,但最终我还是认为在处理更严重的项目时,您应该过渡到使用virtualenv。
如果您想了解有关一起使用pip和virtualenv的更多信息,请参见:
python setup.py install
与make install类似:这是将文件编译和复制到目标目录的有限方式。这并不意味着它是在系统上真正安装软件的最佳方法。
pip
是一个程序包管理器,可以安装,升级,列出和卸载程序包,例如熟悉的程序包管理器,包括:dpkg, apt, yum, urpmi, ports
等。它可以在内运行python setup.py install
,但具有特定的选项来控制最终安装的方式和位置。
总结:使用pip
。
问题是关于安装包含python软件包而不是NOT 的本地tarball的首选方法关于将软件包上传到索引服务(如PyPi)的好处。
至少我知道一些软件发行商不会将其软件包上传到PyPi,而是要求开发人员从其网站下载软件包并进行安装。
python setup.py安装
这可以工作,但不建议这样做。无需解压缩tarball文件并进入其中以运行setup.py文件。
点安装../path/to/packagename.tar.gz
这是设计和首选的方式。简洁并与PyPi样式的包对齐。
有关更多信息,请pip install
参见:https://pip.readthedocs.io/en/stable/reference/pip_install/