我的包有一个在其setup.py中定义的入口点:
# -*- coding: utf-8 -*-
from setuptools import setup
setup(
name='fbuildbot',
version='0.1',
...
entry_points={
'console_scripts': [
'create = create:main',
],
},
install_requires=[
"cookiecutter",
],
)
Run Code Online (Sandbox Code Playgroud)
事情是,如果我这样做python setup.py develop,我可以正常运行命令,但如果我安装它,python setup.py install安装过程正确运行但控制台脚本失败ImportError:
Traceback (most recent call last):
File "/home/matias/.venvs/fbuild/bin/create", line 8, in <module>
load_entry_point('fbuildbot==0.1', 'console_scripts', 'create')()
File "/home/matias/.venvs/fbuild/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 318, in load_entry_point
File "/home/matias/.venvs/fbuild/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 2221, in load_entry_point
File "/home/matias/.venvs/fbuild/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 1954, in load
ImportError: No module named create
Run Code Online (Sandbox Code Playgroud)
显然,它无法在pythonpath上正确设置包.我以为是因为我的剧本几乎没有达到顶级水平.所以我尝试在包中添加包装,将所有重要部分移动到内部模块并相应地更改setup.py:
# -*- …Run Code Online (Sandbox Code Playgroud) 好的,周一我有一个A级计算考试,我一直在研究预发布的骨架代码.
今天早上,当我尝试时,我得到一个错误说'Sub Main' was not found.这里显然是一个Sub Main()在我将在下面粘贴代码.
在尝试sub main()第二个错误之前,我尝试添加另一个Sub Main() has multiple definitions.
我真的需要对它进行排序,所以任何帮助都将非常感激.
这是Sub Main()的代码:
Sub Main()
Dim Choice As Char
Dim Deck(52) As TCard
Dim RecentScores(NoOfRecentScores) As TRecentScore
Randomize()
Do
DisplayMenu()
Choice = GetMenuChoice()
Select Case Choice
Case "1"
LoadDeck(Deck)
ShuffleDeck(Deck)
PlayGame(Deck, RecentScores)
Case "2"
LoadDeck(Deck)
PlayGame(Deck, RecentScores)
Case "3"
DisplayRecentScores(RecentScores)
Case "4"
ResetRecentScores(RecentScores)
End Select
Loop Until Choice = "q"
End Sub
Run Code Online (Sandbox Code Playgroud)
如果有帮助,这里是完整的代码:
'Skeleton Program code for the AQA …Run Code Online (Sandbox Code Playgroud) 我有第三方控制台应用程序.我需要从我的应用程序运行它,但我不能将它作为一个单独的进程运行(因为我需要使用它的依赖项:手动填充导入表,设置挂钩等).所以我可能应该main手动调用此可执行文件的功能.这是我试图这样做的方式:
auto hMod = LoadLibrary("console_app.exe")我坚持到最后一步.
以下是我试图调用入口点的方法:
void runMain(HINSTANCE hInst)
{
typedef BOOL(WINAPI *PfnMain)(int, char*[]);
auto imageNtHeaders = ImageNtHeader(hInst);
auto pfnMain = (PfnMain)(DWORD_PTR)(imageNtHeaders->OptionalHeader.AddressOfEntryPoint + (DWORD_PTR)hInst);
char* args[] = { R"(<console_app_path>)", R"(arg1)", R"(arg2)" };
pfnMain(3, args);
}
Run Code Online (Sandbox Code Playgroud)
有用.但它就好像没有争论一样.
我哪里错了?如何在我的进程中使用参数运行可执行文件?谢谢.
我已经调查过我的特定第三方exe如何获取cmd参数并发现:
GetCommandLine,也不调用它call _initterm电话argc和argv参数进行调查(见下图)
cs:argccs:argv
您能解释一下,_initterm实际存在的CMD参数究竟存在了什么?
c++ program-entry-point systems-programming portable-executable entry-point
我正在通过在其中创建多个环境来开发anaconda。我已经建立了任何环境,camelot所以现在我想在此环境中安装在其他库中。因此,例如,我在这种环境(camelot)中安装了熊猫,我正在写:
conda install pandas
Run Code Online (Sandbox Code Playgroud)
要么
conda install -c conda-forge camelot-py
Run Code Online (Sandbox Code Playgroud)
然后给我错误:
python.exe-Entry Point Not Found
The procedure entry point OPENSSL_sk_new_reserve could not be
located in the dynamic link library.
C:\Users\abc\Anaconda3\Library\bin\libssl11_-x64.dll
Run Code Online (Sandbox Code Playgroud)
首先,我认为这可能是由于环境变量引起的错误,我为pyhton设置了环境变量,但无法解决
C++标准要求所有符合要求的实现支持以下两个签名main:
int main();int main(int, char*[]);如果是后一个签名,那么(顶层)const-ness的添加会破坏任何语言规则吗?
例如:
int main(const int argc, char** const argv);
根据我的理解,顶级const资格不会影响函数的签名哈希,因此就规范而言它应该是合法的.
还有,有没有人遇到过拒绝这种修改的实现?
我的意思是需要不同:
针对不同的切入点.
这可能吗?
我正在尝试在我的一个python模块中为main方法创建一个入口点,并且似乎在导入该函数所在的模块时遇到问题.
我的setup.py看起来像这样:
...
setup(name="awesome-tool",
...,
entry_points={
'console_scripts' : [
'awesome-tool = awesome_tool.awesome_tool:main'
]
}
)
Run Code Online (Sandbox Code Playgroud)
该项目的组织方式如下:
awesome_tool
|__ awesome_tool.py
|__ __init__.py
Run Code Online (Sandbox Code Playgroud)
它awesome_tool.py包含一个名为main()的函数,我想在一个名为的可执行文件中使用它awesome-tool.执行setup.py时,一切似乎都顺利.我可以启动python提示并执行
> import awesome_tool.awesome_tool
> # (all good here)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试从命令行调用时awesome-tool,会发生以下情况:
Traceback (most recent call last):
File ".../virtualenvs/awesome-tool/bin/awesome-tool", line 9, in <module>
load_entry_point('awesome-tool==1.1.0', 'console_scripts', 'awesome-tool')()
File "build/bdist.macosx-10.9-intel/egg/pkg_resources.py", line 378, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "build/bdist.macosx-10.9-intel/egg/pkg_resources.py", line 2566, in load_entry_point
return ep.load()
File "build/bdist.macosx-10.9-intel/egg/pkg_resources.py", line 2260, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
ImportError: …Run Code Online (Sandbox Code Playgroud) 我刚刚开始学习 C#,我创建了 C# 控制台应用程序。为了理解这些概念,我观看了如何为 C# 设置与代码的视频
dotnet new console当我在 VS code 终端中运行命令时,它会创建一个包含Program.cs文件的新项目。
在视频中,该Program.cs文件看起来像这样
// Program.cs
using System;
namespace HelloWorld
{
class Program
{
static string Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
Run Code Online (Sandbox Code Playgroud)
Program.cs在我的 IDE 中看起来像,
// Program.cs
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Run Code Online (Sandbox Code Playgroud)
当我使用终端运行代码时,dotnet run它在我的计算机上完美运行。
当我创建一个新的 cs 文件时,它包含
// hello.cs
Console.WriteLine("hello world");
Run Code Online (Sandbox Code Playgroud)
运行后它说 Only one compilation unit can have top-level statements.
当我使用类方法和命名空间时
// hello.cs
namespace helloworld
{
class …Run Code Online (Sandbox Code Playgroud) 我在一个应用程序中有2个主要入口点.
第一个main启动服务器,映射控制器并启动一些工作线程.这些工作人员从云队列接收消息.
如果负载增加,我希望能够增加额外的工作来完成我的工作.所以我在我的应用程序中有第二个主要入口点,我希望能够在不启动 spring-boot(作为客户端应用程序)的默认服务器的情况下启动,以避免端口冲突(显然会导致失败).
我该如何实现这一目标?
文件
FROM python:3.7.4-alpine
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
ENV LANG C.UTF-8
MAINTAINER "mail@gmail.com"
RUN apk update && apk add postgresql-dev gcc musl-dev
RUN apk --update add build-base jpeg-dev zlib-dev
RUN pip install --upgrade setuptools pip
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
#CMD ["gunicorn", "--log-level=DEBUG", "--timeout 90", "--bind", "0.0.0.0:8000", "express_proj.wsgi:application"]
ENTRYPOINT ["./docker-entrypoint.sh"]
Run Code Online (Sandbox Code Playgroud)
docker-entrypoint.sh
#!/bin/bash
# Prepare log files and start outputting logs to stdout
touch /code/gunicorn.log
touch /code/access.log
tail -n …Run Code Online (Sandbox Code Playgroud) entry-point ×10
python ×3
.net ×2
c++ ×2
setuptools ×2
anaconda ×1
c# ×1
conda ×1
const ×1
django ×1
docker ×1
dockerfile ×1
java ×1
setup.py ×1
signature ×1
spring-boot ×1
vb.net ×1