对于我的包foo,我使用以下setup.py:
from setuptools import setup
setup(name='foo',
version='0.0.1',
description='Lol',
url='https://github.com/foo/foo',
author='legend',
author_email='lol@gmail.com',
license='GPLv3',
packages=['foo'],
install_requires=["bar"],
entry_points = {'console_scripts': ['foo = foo:main']},
keywords = ['foo'],
zip_safe=False)
在我的Arch系统上测试时,它会自动将脚本添加到PATH中,这样我就可以在命令行上运行foo
,它会自动运行main()函数。然后,我启动了一个VM并在Windows 7上进行了测试。Pip安装的程序包很好,但它不在我的路径上!
帮忙?
不要期望
pip
或easy_install
修改您的PATH
,他们的任务是将包安装到当前环境中。在Linux上,如果使用全局Python环境,则可能需要根权限,因此通常需要:
但是,这不是推荐的方法,因为它破坏了系统范围的Python环境(假设有两个应用程序对同一个包版本的要求稍有不同,您可能会遇到问题)。
推荐的方法是使用某种virtualenv,它允许将python包安装到单独的python环境中,这样也很容易删除和重新创建。
如何将基于python的脚本安装到系统中
似乎您有基于python的自定义脚本,希望在系统中使用该脚本。
对于这个场景,我使用以下方法(假设
virtualenv
工具安装到系统范围的python中):现在您应该已经在
~/apps/myutil/.env/bin
目录中安装了pip
安装的所有脚本,让我们称之为myscript
(可以有更多)。剩下的步骤是从已经在
PATH
上的某个目录创建符号链接,例如进入/usr/local/bin
:从现在起,即使没有激活virtualenv,也可以调用命令
myscript
。更新脚本
如果需要安装更高版本的脚本:
当您链接了脚本时,它将自动在最新版本中可用。
用virtualenvwrapper命名
virtualenvwrapper
允许您创建多个命名的virtualenv,并为您提供简单的激活和 失活。在这种情况下,我将执行以下操作:升级更简单:
你就完了
有毒物质替代品
tox
是自动创建虚拟机和进行测试的好工具。我用它来创造 我喜欢的目录中的virtualenvs。有关详细信息,请参阅我的其他SO answersetuptools
、pip
和easy_install
不修改系统路径变量。默认情况下,<python directory>\Scripts
目录是所有安装脚本的目录,通常在安装过程中由Python安装程序添加到PATH。如果在安装过程中脚本文件夹没有添加到您的路径中,您可以通过运行
<python directory>\Tools\scripts\win_add2path.py
来解决这个问题。(见How can I find where Python is installed on Windows?)顺便说一下,上面的示例setup.py文件对我来说工作得很好(脚本目录在PATH中)。我用
以及
相关问题 更多 >
编程相关推荐