我有Python 2.6,我想安装easy _ install模块.问题是,Python 2.6的easy _ install唯一可用的安装包是.egg文件!我该怎么办?
如何导入存储在.py代码的相对位置的python .egg文件?
例如,
My Application/
My Application/library1.egg
My Application/libs/library2.egg
My Application/test.py
Run Code Online (Sandbox Code Playgroud)
如何从test.py中导入和使用library1和library2,同时将.egg库保留在原位?
我在Windows 7上工作.我使用distutils创建了一个python egg.现在我尝试使用pip 1.0.2使用以下命令在虚拟环境中安装此egg:
然后我创建一个虚拟环境myVirtualEnv我使用activate.bat激活它然后执行以下命令:
pip install path_to_my_local_folder#eggName
这会在myVirtualEnv\build目录中创建我的egg副本,但是我有以下错误:
IOError:[Errno 2]没有这样的文件或目录:path_of_my_virtualEnv\build\PyEqdR\setup.py
你知道为什么pip正在寻找setup.py文件.我应该把它包含在鸡蛋中吗?
AssertionError: Egg-link /home/daniel/other-rb/reviewboard does not match installed location of ReviewBoard (at /home/daniel/reviewboard)
Run Code Online (Sandbox Code Playgroud)
我相信这是因为我使用相同的virtualenv在其他位置安装包.
我该如何解决这个问题?我猜我需要重定向Egg-link以匹配安装位置?
堆栈跟踪:
(reviewboard-3.0) daniel@beepboop ~/reviewboard $ ./setup.py develop
/home/daniel/envs/reviewboard-3.0/local/lib/python2.7/site-packages/setuptools/dist.py:334: UserWarning: Normalizing '4.0alpha0' to '4.0a0'
normalized_version,
running develop
Requirement already up-to-date: setuptools in /home/daniel/envs/reviewboard-3.0/lib/python2.7/site-packages
Requirement already up-to-date: appdirs>=1.4.0 in /home/daniel/envs/reviewboard-3.0/lib/python2.7/site-packages (from setuptools)
Requirement already up-to-date: packaging>=16.8 in /home/daniel/envs/reviewboard-3.0/lib/python2.7/site-packages (from setuptools)
Requirement already up-to-date: six>=1.6.0 in /usr/lib/python2.7/dist-packages (from setuptools)
Requirement already up-to-date: pyparsing in /home/daniel/envs/reviewboard-3.0/lib/python2.7/site-packages (from packaging>=16.8->setuptools)
Requirement already up-to-date: pip in /home/daniel/envs/reviewboard-3.0/lib/python2.7/site-packages
Obtaining file:///home/daniel/reviewboard
Requirement already satisfied: django-haystack<=2.4.999,>=2.3.1 …
Run Code Online (Sandbox Code Playgroud) 假设我想在奶酪店上传一些鸡蛋.我有义务吗?我需要提供许可证吗?我需要提供测试吗?我是否对这个蛋的使用者(如果有的话)有任何义务?
到目前为止,我还没有真正发布任何开放源代码,我想知道这个过程.
调整来自https://github.com/bluejeans/api-rest-meetings/tree/master/libs/python#pip-install的说明,pipenv shell
我试图运行
pipenv install git+https://github.com/bluejeans/api-rest-meetings.git@pip-repo
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误消息:
⠋警告:pipenv需要#egg片段来控制版本控制的依赖项.请以git + https://github.com/bluejeans/api-rest-meetings.git#egg=的形式安装远程依赖项.
这是完整的命令和响应:
(lucy-web-CVxkrCFK) bash-3.2$ pipenv install git+https://github.com/bluejeans/api-rest-meetings.git@pip-repo
Installing git+https://github.com/bluejeans/api-rest-meetings.git@pip-repo...
?WARNING: pipenv requires an #egg fragment for version controlled dependencies. Please install remote dependency in the form git+https://github.com/bluejeans/api-rest-meetings.git#egg=<package-name>.
ABORTING INSTALL... You will have to reinstall any packages that failed to install.
You may have to manually run pipenv lock when you are finished.
Run Code Online (Sandbox Code Playgroud)
我如何获得egg
此套餐?或者甚至更好,我怎么能不能指定一个鸡蛋?
我刚刚完成了我的第一个(次要)Python项目,我的老板希望我很好地打包它,以便可以轻松地从其他程序中分发和调用它.他建议我看看鸡蛋.我一直在谷歌搜索和阅读,但我只是感到困惑.我正在寻找的大多数网站都解释了如何使用已经创建的Python蛋,或者如何从setup.py文件(我还没有)创建一个蛋.我现在拥有的是一个Eclipse pydev项目,包含大约4个模块和一个设置/配置文件.通过简单的步骤,我如何将其构建到文件夹/包中并将其编译成蛋?一旦它成为一个鸡蛋,我需要了解有关部署/构建/使用它的信息吗?我真的从头开始,所以不要以为我什么都知道; 简单的逐步说明真的很有帮助......
这些是我到目前为止一直在寻找的一些网站:
我也浏览了一些SO问题,但还没找到我需要的东西.
谢谢!
如果我有一个模块,foo
在Lib/site-packages
,我可以import foo
,它会工作.然而,当我从鸡蛋中安装东西时,我得到的东西就像blah-4.0.1-py2.7-win32.egg
文件夹一样,里面有模块内容,但我仍然只需要做import foo
,而不是更复杂.Python如何跟踪鸡蛋?它不仅仅是dirname匹配,就好像我将该文件夹放入Python安装而不通过dist-utils,它找不到模块.
更清楚:我刚刚安装了zope.文件夹名称为"zope.interface-3.3.0-py2.7-win32.egg".这有效:
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import zope.interface
>>>
Run Code Online (Sandbox Code Playgroud)
我创建了一个"blah-4.0.1-py2.7-win32.egg"文件夹,其中包含一个空模块"haha"(和__init__.py
).这不起作用:
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import blah.haha
Traceback (most recent call last):
File "<stdin>", line 1, in …
Run Code Online (Sandbox Code Playgroud) 我在跑步:
Ubuntu 13.04
Python 2.7.4
我正在尝试这个关于制作蟒蛇蛋的非常简单的教程,但是当我实际尝试运行命令来制作蛋时我遇到了困难.
<me>@<compname>:~/Desktop/SANDBOX/somedir$ python setup.py bdist_egg
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_egg'
Run Code Online (Sandbox Code Playgroud)
到目前为止我所知道的:当我输入命令时,
$ python setup.py --help-commands
Run Code Online (Sandbox Code Playgroud)
我找回所有正常命令,但不是"额外命令".我尝试使用谷歌搜索和搜索Stack Overflow但尚未产生任何有用的结果.我知道我很可能错过了一个依赖,但我相信我安装了所有必需的部分来使这项工作.
任何见解都非常感谢.谢谢.
我有一个本地创建的.egg
包依赖于boto==2.38.0.
我使用setuptools来创建构建分发.一切都在我自己的本地环境中工作,因为它boto
正确地从中获取PiP
.但是,databricks
当我将库附加到群集时,它不会自动获取依赖项.
我现在真的很挣扎了几天试图在databricks上加载时自动安装依赖项,我使用的setuptools;
'install_requires=['boto==2.38.0']'
是相关字段.
当我boto
直接PyPi
在databricks
服务器上安装(所以不依赖于该install_requires
字段正常工作)然后调用我自己的.egg
,它确实认识到这boto
是一个包,但它不识别它的任何模块(因为它没有导入我的拥有.egg的命名空间???).所以我不能让我.egg
上班.如果这个问题持续存在而没有任何解决方案,我认为这对databricks
用户来说是一个非常大的问题.当然应该有一个解决方案......
谢谢!
egg ×10
python ×10
pip ×3
easy-install ×2
apache-spark ×1
bluejeans ×1
dependencies ×1
installation ×1
local ×1
module ×1
packages ×1
pipenv ×1
pypi ×1
pyspark ×1
python-2.7 ×1
setup.py ×1
virtualenv ×1